我说的这个语句没有错误,但是它并没有按照我想要的方式添加到电话分机中。

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 ''

最佳答案

尝试编写如下逻辑:

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

关于mysql - 在CONCAT_WS内使用CASE的MySQL语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39236397/

10-11 23:48