使用CONCAT_WS内的CASE的MySQL Statment

时间:2016-08-30 20:18:20

标签: mysql sql

我有这个声明没有错误,但它没有按照我想要的方式添加到电话分机中。

SELECT
      est_contacts.*,
      CONCAT_WS(
        ', ',
        contacts.contact_name,
        contacts.contact_phone,
        (
            CASE contacts.contact_ext WHEN NOT '' THEN CONCAT('x', contacts.contact_ext) END
        ),
        contacts.contact_phone_type
    ) AS contact
    FROM
      est_contacts
    LEFT JOIN
      contacts
    ON
      est_contacts.contact_id = contacts.contact_id
    WHERE
      est_contacts.est_id = 1

所以我对CASE的东西非常陌生,所以这是我的第一次拍摄,看起来它会起作用并且表现得像它一样,直到我在联系人记录中添加了一个Ext而且它没有即使它是NOT ''

,也请添加它

1 个答案:

答案 0 :(得分:1)

尝试编写如下逻辑:

   (CASE WHEN contacts.contact_ext <> '' THEN CONCAT('x', contacts.contact_ext)
    END),