我有2个表,我想要customerid,customername,comment和customercontactno。
我使用以下查询加入2表。
SELECT comment.id, comment.Kommentar, comment.Kunde,
CONCAT_WS('', customer.telefonPrivat, customer.TelefonMobil) AS Contact_Phone
FROM tbl_test_comment comment
LEFT JOIN tbl_test_customer customer
ON customer.id = comment.Kunde;
我的第一个表是 tbl_test_comment 以下数据
tbl_test_customer
以上查询结果
问题
当我运行上面的查询时,如果两个合并列中的一个为空,则其工作正常。但如果数据在两行中,它会合并数据。如果两行都有值,我想避免使用。
预期输出
答案 0 :(得分:1)
concat_ws
代表"与分隔符"连接,即将字符串与分隔符一起添加。
相反,使用coalesce
函数,它返回第一个非null参数:
coalesce(customer.telefonPrivat, customer.TelefonMobil)
如果空电话号码可以是空字符串''
以及null
,则可以使用功能更强大的case
语句:
case
when length(customer.telefonPrivat) > 0 then customer.telefonPrivat
else customer.TelefonMobil
end