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 时有效,但我确实需要将所有名称组合在一行中,而不是多行。

4

0 回答 0