Bat*_*uta 5 sql t-sql sql-server
我有一个Master和Detail表,详细信息链接到FK参考上的Master记录.
我需要显示Master表中的所有数据,以及每条记录的相应详细信息,即
MASTER TABLE
ID Name Age
1 John 15
2 Jane 14
3 Joe 15
DETAIL
MasterID Subjects
1 Trigonometry
1 Chemistry
1 Physics
1 History
2 Trigonometry
2 Physics
Run Code Online (Sandbox Code Playgroud)
因此,当我运行SQL语句时,我会得到以下结果:
ID Name Age #Subjects
1 John 15 4
2 Jane 14 2
3 Joe 15 0
Run Code Online (Sandbox Code Playgroud)
谢谢!
bob*_*obs 10
这可能很有用
SELECT mt.ID, mt.NAME, mt.AGE, COUNT(d.MasterID) as [#Subjects]
FROM MasterTable mt
LEFT OUTER JOIN Detail d on mt.ID = d.ID
GROUP BY mt.ID, mt.NAME, mt.AGE
ORDER BY mt.ID
Run Code Online (Sandbox Code Playgroud)
select id,
name,
age,
( select count(*)
from detail
where master.id = detail.id ) as record_count
from master
Run Code Online (Sandbox Code Playgroud)
根据您使用的数据库调整语法
| 归档时间: |
|
| 查看次数: |
6250 次 |
| 最近记录: |