[英]How to get count from another table (zero when no data) using single query in mysql?
I have two tables - 'Offered' and 'joined'. 我有两个表-“已提供”和“已加入”。 I need count of 'offered_id' from joined table and zero when not found.
我需要从联接表中计数“ offered_id”,而在找不到时为零。 My tables and output required is below.
我的表格和所需的输出如下。 How can I achieve this using single query in mysql ?
我如何使用mysql中的单个查询来实现这一点?
TABLE : OFFERED
===============
offered_id data
----------- ----
1 aaaa
2 bbbb
3 cccc
4 dddd
5 eeee
6 ffff
TABLE : JOINED
===============
joined_id offered_id
----------- ----------
1 5
2 2
3 2
4 1
5 3
6 2
7 5
OUTPUT REQUIRED
===============
offered_id data count(offered_id) from joined table.(0 for no entry)
----------- ----- ------------------------------------------------
1 aaaa 1
2 bbbb 3
3 cccc 1
4 dddd 0
5 eeee 1
6 ffff 0
Use count
: 使用
count
:
SELECT OFFERED.OFFERED_id,OFFERED.data,(select count(JOINED.joined_id) FROM JOINED INNER JOIN OFFERED
ON JOINED.offered_id = OFFERED.offered_id) as count_joined FROM OFFERED
尝试一下,它可以帮助我实现项目的目标,并且一定会对您有所帮助。
SELECT offered_id FROM OFFERED WHERE offered_id IN (SELECT DISTINCT offered_id FROM JOINED)
使用子查询可以实现...
SELECT OFFERED.offered_id, OFFERED.data, (SELECT COUNT(JOINED.joined_id) FROM JOINED WHERE JOINED.offered_id = OFFERED.offered_id) AS count_joined FROM OFFERED
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.