簡體   English   中英

如何在Access中進行UNION查詢以合並來自多個表的數據,並且還用名為“ SignedOffClientList”的表排除匹配的數據?

[英]How to make UNION query in Access to combine data from multiple tables and ALSO exlude matched data with table named 'SignedOffClientList'?

SQL代碼的聯合查詢圖像

因此,UNION查詢應該從鏈接到Excel Spreadsheets的表中匯總所有數據,然后將其用作第二個查詢的源-可以。 但是我還需要在另一個表(稱為“ SignedOffClientList”)中匹配的數據才能從查詢結果中排除?

我不知道該怎么做,我的嘗試正在產生“ FROM子句中的語法錯誤” ...誰能提供建議? (圖片在鏈接中可用)

代碼文本:

SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [AssetFinance]

UNION


SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [Corporates]


UNION


SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [CreditConsult]

UNION


SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [FinancialMarkets]

UNION


SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [FixedIncome]

UNION


SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [ProjectFinance]

UNION


SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [RealEstate]

UNION


SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [Securitisation]

UNION SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [Treasury]

EXCEPT
SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
FROM [SignedOffClientList]


ORDER BY [F9];

您可以將UNION包裝在子查詢中,然后使用NOT EXISTS子句排除第二個表中存在的值:

SELECT * FROM
(

    SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [AssetFinance]

    UNION


    SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [Corporates]


    UNION


    SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [CreditConsult]

    UNION


    SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [FinancialMarkets]

    UNION


    SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [FixedIncome]

    UNION


    SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [ProjectFinance]

    UNION


    SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [RealEstate]

    UNION


    SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [Securitisation]

    UNION SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12], [F13], [F14], [F15]
    FROM [Treasury]

) UnionResult
WHERE NOT EXISTS(SELECT 1 FROM SignedOffClientList s WHERE s.F1 = UnionResult.F1 AND s.F2 = UnionResult.F2)

請注意,這會測試完全相等。 使用鏈接的Excel表時,如果有格式字符,則需要考慮在內。

只需構建另一個使用聯合查詢作為數據源的查詢即可 在設計器中,將字段與表SignedOffClientList ,然后將過濾器放入此新查詢中。

暫無
暫無

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

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