在一列的基础上组合具有不同列数的多个表

时间:2019-08-26 06:48:05

标签: sql postgresql sqlite android-room

我正在执行两个SELECT查询。第一个是获取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的值不像下面那样重复?

2 个答案:

答案 0 :(得分:2)

相关的子查询看起来像直接的(不使用冗余null)选项:

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

答案 1 :(得分:1)

尝试:

sudo adduser $USER kvm