簡體   English   中英

如何從此mssql / php查詢中排除某些內容?

[英]How to exclude something from this mssql/php query?

我有這個:

SELECT TOP 100 
    IDNum, 
    IDName, 
    Nation, 
    (SELECT 
        SUM(Loyalty) 
    FROM 
        USERDATA 
    WHERE 
        USERDATA.Knights = KNIGHTS.IDNum 
        AND USERDATA.Authority IN(1, 2)
    ) as ClanLoyalty 
FROM 
    KNIGHTS 
ORDER BY 
    ClanLoyalty DESC

但我想排除Knights (21 and 25)所以該查詢中包含騎士IDNum 21歲和25歲?

如何排除它們?

這不是您的外部查詢中的簡單where子句嗎?

SELECT TOP 100 
    IDNum, 
    IDName, 
    Nation, 
    (SELECT 
        SUM(Loyalty) 
    FROM 
        USERDATA 
    WHERE 
        USERDATA.Knights = KNIGHTS.IDNum 
        AND USERDATA.Authority IN(1, 2)
    ) as ClanLoyalty 
FROM 
    KNIGHTS 
where
    knights.idnum not in (21,22)
ORDER BY 
    ClanLoyalty DESC

如果您將其從主查詢中排除,則無論如何它們都不會在內部查詢中匹配,因為無論如何它們都已加入IDNum字段。

關於這一點,您可能還想閱讀一下我整理的這份問答,其中涵蓋了許多類似這樣的SQL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM