0

我的目标是仅显示 bofa 提款的索赔。当我做我的代码时,它只给我 2,或者在工作时它给我索赔 110329100082,它有 bofa w/ds 但我只想要索赔nbr,他的争议只是美国银行。最后我想要的是:

索赔br 121104101432, 130101104813, 130202100467, 130326100004

使用索赔 GO

SELECT A.ClaimNbr


FROM dbo.CCMSClaimCore A
 LEFT JOIN dbo.CCMSTransactionCore B
 ON A.ClaimNbr = B.ClaimNbr

WHERE A.Frdtyp IN('Counterfiet', 'Counterfeit', 'CardSecure')
  AND B.merchantNm = 'BKOFAMERICA%WITHDR%'
  OR A.ClaimTypCd = 'ATMWP'

这是一些要放入数据库的代码

CREATE TABLE CCMSClaimCore 
(
ClaimNbr  varchar(50) Not NUll,
ClaimTypCd varchar(8) Not Null,
FraudTyp varchar(15) Not Null,
)

INSERT INTO CCMSClaimCore (ClaimNbr, ClaimTypCd, FraudTyp)
VALUES (110329100082,   'FATMD',    'CardSecure')
INSERT INTO CCMSClaimCore (ClaimNbr, ClaimTypCd, FraudTyp)
VALUES (110330101000,   'FATMD',    'CardSecure')
INSERT INTO CCMSClaimCore (ClaimNbr, ClaimTypCd, FraudTyp)
VALUES(121104101432,    'FATMD',    'Counterfeit')
INSERT INTO CCMSClaimCore (ClaimNbr, ClaimTypCd, FraudTyp)
VALUES(130101104813,    'ATMWP',    'CardSecure')
INSERT INTO CCMSClaimCore (ClaimNbr, ClaimTypCd, FraudTyp)
VALUES(130101109216,    'FATMD',    'Counterfiet')
INSERT INTO CCMSClaimCore (ClaimNbr, ClaimTypCd, FraudTyp)
VALUES(130202100467,    'ATMWP',    'Counterfiet')
INSERT INTO CCMSClaimCore (ClaimNbr, ClaimTypCd, FraudTyp)
VALUES(130326100004,    'FATMD',    'CardSecure')

Create table CCMSTransactionCore
(
ClaimNbr varchar(12) Not null ,
DisputeNbr varchar(12) Not Null ,
MerchantNm varchar(50) Not Null

)

INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(110329100082,    110329200082,   'BKOFAMERICA ATM 03/28 #000007450           WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(110329100082,    110329200083,   'MPX1            03/27 #000918793 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(110329100082,    110329200084,   'BKOFAMERICA ATM 03/28 #000007450 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(110330101000,    110330201000,   'PNC             01/17 #300918765     WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(121104101432, 121104201432,  'BKOFAMERICA ATM 01/06 #000007450 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(121104101432, 121104201433,  'BKOFAMERICA ATM 01/06 #000007450 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(130101104813, 130101104813,  'BKOFAMERICA ATM 12/06 #000007450 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(130101109216, 130101207892,  'MPX1            03/27 #000918793 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(130101109216, 130101207893,  'PNC         03/24 #300918765 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(130101109216, 130101207894,  'BKOFAMERICA ATM 03/06 #000007450 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(130202100467, 130202200467,  'BKOFAMERICA ATM 02/14 #000007450 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(130202100467, 130202200468,  'BKOFAMERICA ATM 02/14 #000007450 WITHDRWL')
INSERT INTO CCMSTransactionCore (ClaimNbr, DisputeNbr, MerchantNm)
VALUES(130326100004, 130326200004,  'BKOFAMERICA ATM 03/08 #000007450 WITHDRWL')
4

1 回答 1

1

我认为您是说您想要相关表中的商家名称为 BKOFAMERICA%WITHDR% 且只有BKOFAMERICA%WITHDR% 的索赔编号。如果它有 BOFA,例如 PNC,那么不要显示该索赔编号,对吗?尝试这个:

Use Claim
GO

;WITH BOFAOnlyClaims AS (
    SELECT  B.ClaimNbr
    FROM    dbo.CCMSTransactionCore B
    GROUP BY B.ClaimNbr
    HAVING MAX(CASE WHEN B.merchantNm = 'BKOFAMERICA%WITHDR%' THEN 1 ELSE 2 END) = 1
)
SELECT  A.ClaimNbr
FROM    dbo.CCMSClaimCore A
        JOIN BOFAOnlyClaims BOC ON A.ClaimNbr = BOC.ClaimNbr
WHERE   A.Frdtyp IN('Counterfiet', 'Counterfeit', 'CardSecure')
        OR A.ClaimTypCd = 'ATMWP';
于 2013-03-26T19:45:39.647 回答