我在获取另一个表行上使用的id时遇到了一些问题。我有三张table。一是分类、文章、视频。在文章和视频中,有一个列具有类别id。例如:
表类别:
id | category_name
------------------
1 | News
2 | Sports
3 | Art
4 | Horror
表格项目:
id | category_id | title
----------------------------------
1 | 1 | title content 1
2 | 1 | title content 2
3 | 3 | title content 3
4 | 3 | title content 4
5 | 2 | title content 5
桌面视频:
id | category_id | video_title
------------------------------
1 | 1 | video title 1
2 | 2 | video title 2
3 | 3 | video title 3
我想得到每个类别id已经使用了其他两个数据库中的时间。这样地:
Category ID 1 is use 3 times
Category ID 2 is use 2 times
Category ID 3 is use 3 times
Category ID 4 is use 0 times
我需要使用什么查询才能得到所有这样的数据?拜托,谁知道谁能帮我。提前谢谢。
2条答案
按热度按时间lyr7nygr1#
首先你需要
UNION ALL
articles
表和video
表必须是子查询,然后使用Outer join
以及COUNT
功能。sqlfiddle:http://sqlfiddle.com/#!2012年9月9日
[结果]:
笔记
COUNT
如果列值遇到null
例如,这里有一个示例脚本。样品sqlfiddle:http://sqlfiddle.com/#!9/e2bba7/2号
qybjjes12#
例如,您可以使用以下查询: