【发布时间】:2018-10-23 07:55:37
【问题描述】:
我是 SQL 新手,目前不知道要搜索的正确词。
我有第一个这样的表 - 它有 5 行。
SELECT
tFinal2.region, COUNT(newsfeed_id) AS comment
FROM
(SELECT *
FROM
((SELECT *
FROM public.newsfeed_comment) AS T1
INNER JOIN
(SELECT * FROM public.newsfeed) AS T2 ON T1.newsfeed_id = T2.seq) AS tFinal1) AS tFinal2
GROUP BY
tFinal2.region
这是我的第二张桌子:
SELECT tFinal2.region, COUNT(newsfeed_id) AS media
FROM
(SELECT *
FROM
((SELECT *
FROM public.newsfeed_media) AS T1
INNER JOIN
(SELECT * FROM public.newsfeed) AS T2 T1.newsfeed_id = T2.seq) AS tFinal1) AS tFinal2
GROUP BY
tFinal2.region
第二个表有 6 行。
所以,如果我只是使用内连接、外连接等方式连接表#1 中的 5 行和表 #2 中的 6 行,它只会返回 5 行。
如何加入才能返回所有行并将缺失值的默认值设置为零? (我也不知道哪个表有更多的行。它会不时改变,我不能做左、右连接)。
【问题讨论】:
-
建议:在加入表格时不需要内部
select:删除from子句中的select * from table将大大简化您的代码。
标签: sql