我認爲這裏面臨的挑戰是你試圖解決的問題的開放性。改變所有表中的列名,表名和唯一性閾值會使其變得更加困難。按照我在下面顯示的方式,我不認爲這是最有效的,查詢方式,但腳本相對容易。以下代碼假定表中的值在每個表中都是唯一的。
有總共3個查詢是:
qry_001_TableValues_ALL
SELECT Table1.MyValue, "Table1" AS Source
FROM Table1
UNION
SELECT Table2.MyValue, "Table2" AS Source
FROM Table2
UNION SELECT Table3.MyValue, "Table3" AS Source
FROM Table3;
qry_002_TableValues_Unique:
SELECT qry_001_TableValues_ALL.MyValue
FROM qry_001_TableValues_ALL
GROUP BY qry_001_TableValues_ALL.MyValue
HAVING (((Count(qry_001_TableValues_ALL.MyValue))=1));
qry_003_TableValues_UniqueWithSource:
SELECT qry_002_TableValues_Unique.MyValue, qry_001_TableValues_ALL.Source
FROM qry_002_TableValues_Unique INNER JOIN qry_001_TableValues_ALL
ON qry_002_TableValues_Unique.MyValue = qry_001_TableValues_ALL.MyValue;
如果列\表已更改,則第一個表是您需要編寫腳本的表。它正在查看所有表並從指定的字段中創建唯一的值列表。第二個查詢將查找源表格名稱與原始唯一值查詢中所有值爲1的值的後期聚合。這意味着所涉及的所有表中只有一個返回值的實例,並且它再次與原始唯一值列表連接以確定源表是什麼。您可以在此處編寫對HAVING子句的更改腳本,以查看是否有包含該值的x個表。最後一個查詢就是您運行的那個查詢,它提供了您正在查找的值以及它們駐留的位置的最終報告。
希望這是你正在嘗試做的事情。
歡迎來到Stack Overflow!一般來說,這裏同意[你不應該在你的帖子中使用問候或稱呼](http://meta.stackoverflow.com/questions/276033/pointless-question-edit/276037#276037)。他們妨礙我們讀者找出真正的問題。這次我爲你編輯了它們。 – 2014-11-05 23:43:44
上次我問了一個關於數據庫投下的問題,因爲我沒有包括一個例子。你可能想在這裏改變它。 – Steve 2018-03-08 23:23:57