Sql server Select语句,其中2个值具有计数
我有一个Select语句,它根据具有多个条目的ID提取所有发布。有多个条目是我所寻找的,这样我就可以确定作者是否在同一个项目/部门工作或在不同的项目/部门工作。我对单身作家不感兴趣。这给了我在同一个程序中编写的所有出版物Sql server Select语句,其中2个值具有计数,sql-server,tsql,select,Sql Server,Tsql,Select,我有一个Select语句,它根据具有多个条目的ID提取所有发布。有多个条目是我所寻找的,这样我就可以确定作者是否在同一个项目/部门工作或在不同的项目/部门工作。我对单身作家不感兴趣。这给了我在同一个程序中编写的所有出版物 SELECT TOP (100) PERCENT dbo.[Publication.Person.Include_queue].PMID FROM dbo.[Publication.Person.Include_queue] INNER JO
SELECT TOP (100) PERCENT dbo.[Publication.Person.Include_queue].PMID
FROM dbo.[Publication.Person.Include_queue] INNER JOIN
dbo.ADMIN_Membership ON dbo.[Publication.Person.Include_queue].MemberID = dbo.ADMIN_Membership.MemberID
WHERE (dbo.[Publication.Person.Include_queue].dbid = 750)
GROUP BY dbo.[Publication.Person.Include_queue].PMID, dbo.ADMIN_Membership.Program_Code
HAVING (COUNT(*) > 1)
ORDER BY dbo.[Publication.Person.Include_queue].PMID
我需要的是针对计数大于1且具有不同程序代码的出版物的所有PMID。我想我需要创建一个子查询,但不确定如何使用结构创建子查询
我想这类伪代码正是我所需要的:
Select PMID Where PMID.Count > 1 and Program_Code,Count > 1
我看了一下,结果很接近,但不完全一样。也许你应该断言,匹配的
PMID
的程序代码的不同计数大于一:
HAVING COUNT(DISTINCT Program_Code) > 1
您的更新查询:
SELECT
i.PMID
FROM dbo.[Publication.Person.Include_queue] i
INNER JOIN dbo.ADMIN_Membership m
ON i.MemberID = m.MemberID
WHERE
i.dbid = 750
GROUP BY
i.PMID
HAVING
COUNT(DISTINCT m.Program_Code) > 1
ORDER BY
i.PMID;
注意,我还在查询中引入了表别名,这使得它更易于阅读。如果你担心SQL代码的寿命,请考虑使用别名。谢谢,我完全同意使用别名。对不起,这个例子太草率了