我需要一些有关条件选择的帮助,现在我正在这样做:
GROUP_CONCAT(
CASE WHEN glpi_tickets.users_id_lastupdater = glpi_users.id THEN
CONCAT(glpi_users.firstname, ' ', glpi_users.realname)
END SEPARATOR '<br>') AS last_updater
当users_id_lastupdater = id
时,我选择firstname和realname我想有更好的方法可以做到这一点吗?
答案 0 :(得分:1)
group_concat
似乎有点矫枉过正。您可以使用max()
:
max(CASE WHEN glpi_tickets.users_id_lastupdater = glpi_users.id
THEN CONCAT(glpi_users.firstname, ' ', glpi_users.realname)
END) AS last_updater
不需要分隔符,因为它不仅用于一个元素。
编辑:
max()
函数获取参数的最大值。在这种情况下,由于case
,它是有条件的。如果不满足条件,则值为NULL
(无else
子句)。因此,它在满足条件时检索值。如果多行匹配条件,则检索最大值。