SQL大师,我正在寻找一些帮助代码来比较行与其他有一定的限制。以下是我在桌上看到的一小部分。我希望能够做的是只返回具有大于Insufficient行的Review_Date的传真日期确认的Review_Detail_Status的行。注意:我将比较具有相同Processing_Instance的批次。如何按日期比较同一表的各行? (SQL Server)
Processing_Instance Review_Id GMPI MemberID Review_Date FAX_DATE REVIEW_DETAIL_STATUS
------------------- ---------------------- ---------------------- ---------------------- ----------------------- ----------------------- -------------------
23760 11359973 650775278 300601690600 2017-03-30 00:00:00.000 2017-03-27 00:00:00.000 Insufficient
23760 11237889 650775278 300601690600 2017-03-01 00:00:00.000 2017-02-28 00:00:00.000 Insufficient
23760 11359973 650775278 300601690600 2017-03-30 00:00:00.000 2017-03-27 00:00:00.000 Confirmed
23760 11359973 650775278 300601690600 2017-03-30 00:00:00.000 2017-03-27 00:00:00.000 Confirmed
23760 11237889 650775278 300601690600 2017-03-01 00:00:00.000 2017-02-28 00:00:00.000 Insufficient
现在,我有这段代码。
SELECT Processing_Instance,
Review_Id,
GMPI,
MemberID,
Review_Date,
ATTESTATION_FAX_DATE,
REVIEW_DETAIL_STATUS
FROM TEST
WHERE EXISTS
(
SELECT 1
FROM TEST AS WT2
WHERE WT2.Processing_Instance = TEST.Processing_Instance
and WT2.GMPI=Test.GMPI
and WT2.FAX_DATE>TEST.REVIEW_DATE
/*AND WT2.GMPI = 650775278*/
and WT2.Processing_Instance=23760
);
但它返回:
Processing_Instance Review_Id GMPI MemberID Review_Date FAX_DATE REVIEW_DETAIL_STATUS
------------------- ---------------------- ---------------------- ---------------------- ----------------------- ----------------------- -----------------------
23760 11237889 650775278 300601690600 2017-03-01 00:00:00.000 2017-02-28 00:00:00.000 Insufficient
23760 11237889 650775278 300601690600 2017-03-01 00:00:00.000 2017-02-28 00:00:00.000 Insufficient
我应该(理论上)越来越:
Processing_Instance Review_Id GMPI MemberID Review_Date FAX_DATE REVIEW_DETAIL_STATUS
------------------- ---------------------- ---------------------- ---------------------- ----------------------- ----------------------- -----------------------
23760 11359973 650775278 300601690600 2017-03-30 00:00:00.000 2017-03-27 00:00:00.000 Confirmed
23760 11359973 650775278 300601690600 2017-03-30 00:00:00.000 2017-03-27 00:00:00.000 Confirmed
谢谢!
为什么你认为当你有这个,你会拿到第二个结果集:你的存在'()''where'子句中'WT2.ATTESTATION_FAX_DATE> TEST.REVIEW_DATE'?这两行你实际得到的是唯一符合这个标准的两个行。 – SqlZim