我正在执行两个选择查询。第一个是获取roomid, roomname, message, sender, date,第二个是获取新加入的用户的数量,正如您在?column?中看到的结果。我通过对两个结果都使用UNION来得到这个表。但不需要此版本,它在roomid列上应该是唯一的。我已经想了好几天了。请告诉我正确的方向。
以下是我的SQL查询:

select roomdetails.roomid as roomid, roomname, message, sender, date, 0
from roomdetails
union
select convo.roomid as roomid, null, null, null, null, count(convo.id)
from convo
group by convo.roomid

如何使roomid的值不包含如下重复项?
sql - 在一列的基础上组合具有不同列数的多个表-LMLPHP

最佳答案

相关子查询看起来像要考虑的直接(不使用多余的空值)选项:

select roomid, roomname, message, sender, date,
       ( select count(c.id) from convo c where c.roomid = r.roomid ) as cnt_roomid
  from roomdetails r

10-06 05:50