SQL查询;如果子记录=条件,则排除记录
我正在使用报表生成器生成有关事件记录的报表。每个事件记录可以有一个或多个与其关联的分配记录。分配存储在不同的表任务中,并在父记录ID事件表上联接 按照当前配置,我会收到一份报告,其中显示符合我的标准的每个事件ID以及所有相关的分配 我想排除任何赋值为属性系统的记录。如果我在中输入一条语句以排除这些记录,我将获得满足其他条件的所有记录,但不包括对属性系统的分配 示例:如果记录4有3个与之关联的赋值。如果其中任何一个分配任务所有者=属性系统,我希望排除整个记录 我想知道如何排除整个记录,而不仅仅是我现在得到的作业SQL查询;如果子记录=条件,则排除记录,sql,sql-server,report,report-builder2.0,Sql,Sql Server,Report,Report Builder2.0,我正在使用报表生成器生成有关事件记录的报表。每个事件记录可以有一个或多个与其关联的分配记录。分配存储在不同的表任务中,并在父记录ID事件表上联接 按照当前配置,我会收到一份报告,其中显示符合我的标准的每个事件ID以及所有相关的分配 我想排除任何赋值为属性系统的记录。如果我在中输入一条语句以排除这些记录,我将获得满足其他条件的所有记录,但不包括对属性系统的分配 示例:如果记录4有3个与之关联的赋值。如果其中任何一个分配任务所有者=属性系统,我希望排除整个记录 我想知道如何排除整个记录,而不仅仅是我
SELECT
Incident.IncidentNumber
,Incident.Status
,Incident.CreatedDateTime
,Incident.OwnerTeam [Incident Owner]
,Incident.Service
,Task.AssignedDateTime
,Task.OwnerTeam [Task Owner]
,Task.ParentRecordNumber
,Task.AssigneeFullName
FROM
Incident
CROSS JOIN Task
WHERE
Incident.IncidentNumber = Task.ParentRecordNumber
AND Incident.Status IN (N'Active', N'Waiting')
AND Incident.Service LIKE N'Property - Two-Way'
AND Incident.OwnerTeam LIKE N'Corporate & Property Service Desk'
---- AND Task.OwnerTeam <> N'Property Systems'
与父记录关联的多个记录的术语是什么?子记录?您需要再次检查任务表
SELECT
I.IncidentNumber
,I.Status
,I.CreatedDateTime
,I.OwnerTeam [Incident Owner]
,I.Service
,T.AssignedDateTime
,T.OwnerTeam [Task Owner]
,T.ParentRecordNumber
,T.AssigneeFullName
FROM
Incident I
JOIN
Task T ON I.IncidentNumber = T.ParentRecordNumber
WHERE
Incident.Status IN (N'Active', N'Waiting')
AND Incident.Service LIKE N'Property - Two-Way'
AND Incident.OwnerTeam LIKE N'Corporate & Property Service Desk'
AND NOT EXISTS (SELECT *
FROM Task T2
WHERE
T2.OwnerTeam = N'Property Systems' AND
T2.ParentRecordNumber = I.IncidentNumber)
请注意正确的联接语法您需要再次检查任务表
SELECT
I.IncidentNumber
,I.Status
,I.CreatedDateTime
,I.OwnerTeam [Incident Owner]
,I.Service
,T.AssignedDateTime
,T.OwnerTeam [Task Owner]
,T.ParentRecordNumber
,T.AssigneeFullName
FROM
Incident I
JOIN
Task T ON I.IncidentNumber = T.ParentRecordNumber
WHERE
Incident.Status IN (N'Active', N'Waiting')
AND Incident.Service LIKE N'Property - Two-Way'
AND Incident.OwnerTeam LIKE N'Corporate & Property Service Desk'
AND NOT EXISTS (SELECT *
FROM Task T2
WHERE
T2.OwnerTeam = N'Property Systems' AND
T2.ParentRecordNumber = I.IncidentNumber)
请注意正确的连接语法谢谢,这就成功了!当你这样做的时候,它看起来很简单!我认为连接不好,但当我更改它时,我出现了错误。谢谢谢谢,这就成功了!当你这样做的时候,它看起来很简单!我认为连接不好,但当我更改它时,我出现了错误。谢谢