0

SQLクエリに問題があり、これまで解決できませんでした...

SELECT `m` . * , `s`.`id` AS `user_id` ,
    CONCAT( s.firstname, s.lastname ) AS `name` ,
    `s`.`email` , `mu`.`status` , `r`.`id` AS `user_id` ,
    GROUP_CONCAT( r.firstname, r.lastname
SEPARATOR "," ) AS `name` , `r`.`email`
FROM `messages` AS `m`
INNER JOIN `users` AS `s` ON m.from = s.id
INNER JOIN `messages_users` AS `mu` ON m.id = mu.message_id
INNER JOIN `users` AS `r` ON r.id = mu.user_id
WHERE (
m.id = '183'
)

問題はGROUP_CONCATにあると思います。実際に一致するものが見つかった場合は、正常に機能します。ただし、何も見つからない場合は、すべてのフィールドがNULLを返します。NULLの代わりに、行を返さないようにします。CONCATを使用するとクエリは機能しますが、実際には、複数の行ではなく、すべての名前を1つの行にまとめる必要があります。

4

0 に答える 0