如何组合两个select语句

时间:2021-05-21 01:57:44

标签: sql

我的数据库中有这三个表:

帖子:

enter image description here

用户:

enter image description here

关注者:

enter image description here

我写了这个查询来检索你关注的人和你自己的帖子

SELECT *  
FROM posts 
WHERE user_id IN (SELECT follower_id 
                  FROM followers 
                  WHERE id = 1)
   OR user_id = 1 

上面的第一个是登录用户的占位符。

为用户选择语句:

SELECT first_name, last_name, profile_img  
FROM users 
WHERE id IN (SELECT follower_id 
             FROM followers 
             WHERE id = 1)
   OR user_id = 1  

如何将这两个语句合二为一?

我想要做的是使用上面嵌套循环的结果(即:关注者 ID)来获取他们的名字、姓氏和他们的个人资料图片,除了第一个选择语句中的帖子日期全部作为一个记录< /p>

1 个答案:

答案 0 :(得分:0)

SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late]
FROM 
    (SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1
LEFT JOIN
    (SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2
ON (t1.ks = t2.ks);