mysql中多表的连接
我是MySQL数据库的新手。我想把两张桌子连在一起,去拿伯爵。例如: 表Amysql中多表的连接,mysql,join,Mysql,Join,我是MySQL数据库的新手。我想把两张桌子连在一起,去拿伯爵。例如: 表A _id content 1 aaa 2 bbb 3 ccc 4 ddd 表B _id a_id b_content 1 1 aaa 2 1 bbb 3 1 ccc 4 2
_id content
1 aaa
2 bbb
3 ccc
4 ddd
表B
_id a_id b_content
1 1 aaa
2 1 bbb
3 1 ccc
4 2 ddd
5 2 eee
6 2 fff
7 3 ggg
8 3 aaa
9 3 bbb
10 3 ccc
11 3 ddd
现在,我的结果表应该有:
表C
a_id a_content count
1 aaa 3
2 bbb 3
3 ccc 5
4 ddd 0
如何使用联接实现这一点?下面的查询将给出结果
SELECT a._id as a_id, a.content as a_content, (SELECT count(*) FROM table_b AS b WHERE b.a_id = a._id) as count FROM table_a AS a
我使用了这个查询
选择a.。\u id,a.内容从a a加入B B B在B.a\u id=a.。\u id分组a.。\u id
但它只会给我3列(不包括计数字段中有0的行),请在发布任何问题之前做一些研究。您需要使用内部join、group by子句和count函数来获得所需的输出。从论坛中选择a._id、a.content、a.title、a.createdon、count(c.forumid)a join comments c ON c.forumid=a._idgroup by a.。_id
抱歉,我注释错误了query您需要另一个join方法。你需要做更多的自学。谢谢,这对有问题的多边环境协定有效。有人提到,如何使用联接实现这一点,所以这里是使用联接的解决方案。选择TableB.a_id,TableA.content,count(TableB.a_id)作为TableB.a_id=TableA上TableA内部联接TableB的计数。按TableB.a_id,TableA.content分组