我希望连接两个表并根据第一个表中的ID获取数据,并根据相同的ID计算第二个表中的列记录。我想要一个单独的查询,它给我输出。
答案 0 :(得分:4)
以下是您的问题的用例/示例和建议的解决方案: 您有两个表User和User_Friends,分别存储用户数据和联系信息。
您想要显示用户的姓名和联系人数量。
Table User:
id Name
0 A
1 B
2 C
3 D
Table User_Friends:
id friend_id
0 1
0 2
0 3
1 2
1 3
Output:
Name Count(*)
A 3
B 2
C 0
D 0
//Display the Name, number of friends
SELECT Name, count(*)
FROM User, User_Friends
WHERE User.id = User_Friends.id
GROUP BY User_Friends.id
答案 1 :(得分:3)
我想你问的是这样的查询:
select t1.id, count(t2.id)
from table1 as t1
left outer join table2 as t2
on t2.table1_id = t1.id
group by t1.id;
答案 2 :(得分:1)
select
ID,
(select count(*) from table2 where ID=p.ID) as [count]
from table1 p