多个SQL查询排除不起作用

时间:2016-02-24 16:33:17

标签: sql-server-2008

我正在尝试提取欠25美元或以上且已发送到集合的帐户,但我需要排除其上有某些stopID块的帐户。使用我编写的查询,我获得了大约70%的成功率,但它仍然包含许多在排除语句中具有StopID的记录。我不确定从这里走哪个方向 - 有什么建议吗?

select DISTINCT 
        Polaris.Patrons.Barcode as BARCODE,
        Polaris.PatronRegistration.NameLast AS [LAST NAME],
        Polaris.PatronRegistration.NameFirst AS [FIRST NAME],
        Polaris.PatronRegistration.NameMiddle AS [MIDDLE NAME],
        cast(Patrons.ChargesAmount as decimal(22,2)) AS AMOUNT,
        Polaris.Addresses.StreetOne AS ADDRESS,
        Polaris.PostalCodes.City AS CITY,
        Polaris.PostalCodes.State AS STATE,
        Polaris.PostalCodes.PostalCode AS ZIP,
        Cast (PatronRegistration.Birthdate AS DATE) AS DOB                    
from Polaris.PatronRegistration TABLESAMPLE SYSTEM(6 PERCENT) inner join 
        Polaris.Patrons on PatronRegistration.PatronID = Polaris.Patrons.PatronID  left join 
        Polaris.PatronAddresses on PatronRegistration.PatronID = PatronAddresses.PatronID   left join 
        Polaris.Addresses on PatronAddresses.AddressID = Polaris.Addresses.AddressID    left join 
        Polaris.PostalCodes ON Polaris.Addresses.PostalCodeID = Polaris.PostalCodes.PostalCodeID  left outer join 
        Polaris.PatronStops ON Polaris.Patrons.PatronID = Polaris.PatronStops.PatronID left outer join 
        Polaris.PatronStopDescriptions ON Polaris.PatronStops.PatronStopID = Polaris.PatronStopDescriptions.PatronStopID  
where Patrons.OrganizationID in (1,2,3,4,5,6,7,8,9,10,11,12,13)  --All Organizations
        and Patrons.PatronCodeID in (1,2,4,5,6,8,9,14,15)  --All patron types except FOL,Minor,Staff,Volunteer,NRC,WWR,Minor E-Card
        and Patrons.ChargesAmount >= 25.00  --Accounts with balance of $25 or more
        and Patrons.SystemBlocks in (1024)  --Accounts have been sent to Collections block
        and NOT (Polaris.PatronStops.PatronStopID in (7,13,14,15,16)) --Accounts contain any of these StopID codes
order by NameLast asc,NameFirst asc,NameMiddle asc

0 个答案:

没有答案