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 の場合、firstname と realname を選択します

これを行うためのより良い方法があると思いますか?

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

区切り記号は 1 つの要素だけに使用されるわけではないため、必要ありません。

編集:

このmax()関数は、引数の最大値を取ります。この場合、 のため、条件付きですcase。条件が満たされない場合、値はNULL(else句なし) になります。そのため、条件が満たされたときに値を取得します。条件に一致する行が複数ある場合は、最大値を取得します。

于 2013-07-21T22:02:32.810 に答える