ReporterTbl
与 AttachmentTbl
有一对多的关系.
在 ReporterTbl
, 我有一个 ID (101) 并且我可以有 AttachmentTbl
不止一个Attachment
与 ReporterTbl.Id
相关
SELECT
ISNULL(ReporterTbl.Id, 0) AS Id,
CONVERT(char(10), ReporterTbl.StartDate, 101) AS StartDate,
ISNULL(ReporterTbl.PriorityId, 0) AS PriorityId,
ISNULL(dbo.ReporterTbl.PriorityDesc, '') AS PriorityDesc,
(select
ReporterTbl.Id,
COUNT(dbo.AttachmentTbl.Id) AS attachment_Id
FROM
dbo.AttachmentTbl RIGHT OUTER JOIN
ReporterTbl ON dbo.AttachmentTbl.Id = ReporterTbl.Id
GROUP BY ReporterTbl.Id) AS IsAttachment
)
基本上,我想知道的是
ReporterTbl.ID
,多少Attachment
我有吗?表结构:
ReporterTbl
Id int {**PrimaryKey**}
StartDate datetime
PriorityId int
PriorityDesc varchar(500
AttachmentTbl:
AttachmentId indentity
Id {**FK to ReproterTbl**}
Filename
Content
...
最佳答案
select r.id, count(a.id) as Count
from ReporterTbl r
left outer join AttachmentTbl a on r.id = a.id
group by r.id
关于sql - 如何计算一对多的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3679777/