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