0

我需要一些关于条件选择的帮助,现在我正在这样做:

                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 时我选择名字和实名

我想有更好的方法来做到这一点?

4

1 回答 1

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子句)。因此,它在满足条件时检索值。如果多行匹配条件,则检索最大值。

于 2013-07-21T22:02:32.810 回答