我试图选择约束相互矛盾的数据。例如,当Sproject_Number不为空时,有些数据集包含status_desc为"90 - 失去的机会"。我想过滤它两次,所以首先我得到所有Sproject_number为 null,然后我能够再次过滤此查询以获得status_desc为"90-失去的机会"的表。
SELECT ProjectNumber,
PName
FROM
(
SELECT DISTINCT
T0.project_number_ext AS ProjectNumber,
T0.project_key AS PKey,
T0.sproject_number AS sPNumber,
T0.project_number AS PNumber,
T0.schedule_finish AS SFinish,
T0.status_desc AS SDesc,
T0.Project_name AS PName
FROM trimergo.rpt_getProjectPOC T0
WHERE T0.sproject_number IS NULL
)
GROUP BY ProjectNumber,
PName;
我认为你只需要这个。不需要子查询。
SELECT
DISTINCT
T0.project_number_ext as ProjectNumber
,T0.status_desc as SDesc
,T0.Project_name as PName
From trimergo.rpt_getProjectPOC T0
WHERE T0.sproject_number IS NULL AND
( T1.SDesc LIKE '10 - In Proposal%' OR T1.SDesc like '90-Lost Opportunity%' )
这段代码有效,我试图选择约束相互矛盾的数据。例如,当Sproject_Number不为空时,有些数据集包含status_desc为"90 - 失去的机会"。我想过滤它两次,所以首先我得到所有空数据集,然后我过滤该查询以接近我需要的数据集
SELECT
T1.ProjectNumber , T1.PName, T1.SDesc
FROM
(
SELECT DISTINCT
T0.project_number_ext as ProjectNumber
,T0.project_key as PKey
,T0.sproject_number as sPNumber
,T0.project_number as PNumber
,T0.schedule_finish as SFinish
,T0.status_desc as SDesc
,T0.Project_name as PName
From trimergo.rpt_getProjectPOC T0
WHERE T0.sproject_number IS NULL ) AS T1
Where T1.SDesc LIKE '10 - In Proposal%'
OR T1.SDesc like '90-Lost Opportunity%'
Group by ProjectNumber, PName, SDesc