[英]MySQL return different string based on values in table columns
我创建了以下用于提取用户首选名称的函数:
public function getPreferredName($unique_id) {
$sql = "SELECT CONCAT(first_name, ' ', last_name) as name FROM `{$this->table}` WHERE `unique_id` = ? LIMIT 1";
$stmt = $this->pdo->prepare($sql);
$stmt->execute([$unique_id]);
if ($stmt->rowCount() == 0) return null;
$preferredName = $stmt->fetchColumn();
return $preferredName;
}
该表是由个人和公司组成的“用户”表。
我想在此查询中考虑一些其他字段:
现在我想修改上面的方法,根据“display_as”列的值是否等于“个人”或“公司”,返回名字和姓氏或公司名称。
如果“display_as”等于“individual”,则返回first_name和last_name字段。
如果“display_as”等于“company”,则返回company_name字段。
如何修改上述方法以同时返回first_name和last_name,或者根据“display_as”列返回company_name值?
谢谢您的帮助。 干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.