1

我有以下查询:当我执行查询时,我得到了很多 ad.Branch 的结果,包括 106804。如果我删除 BOR.SSN 和 COB.SSN 之类的,然后离开分支,它只返回 106804记录这是期望的结果。所以我相信类似的声明是导致问题的原因。

declare @Social varchar(5);

set @social = '%####'

SELECT
ABC.AccountNumber

FROM gcc.AccountDailyFact ABC

JOIN gcc.Today T ON ABC.CalendarDate = T.Today
JOIN gcc.ADReference AD ON  ABC.ADReferenceRowId = AD.ADReferenceRowId
JOIN gcc.CDAccountData BOR ON ABC.BDLeaseHolderRowId = BOR.CDAccountDataRowId
JOIN gcc.CDAccountData COB ON ABC.CoBDLeaseHolderRowId = COB.CDAccountDataRowId
JOIN gcc.VDAssetFile VD ON ABC.VDAssetFileRowID = VD.VDAssetFileRowID

WHERE BOR.SSN 像 @social 或 COB.Ssn 像 @social 和 ad.Branch in ('106804')

4

1 回答 1

1

我认为你只需要括号:

WHERE (BOR.SSN like @social or COB.Ssn like @social) and
      ad.Branch in ('106804')
于 2018-08-13T20:56:50.290 回答