我檢索三個不同的數據集(或什麼應該是「唯一」行)。總的來說,我期望3個不同的唯一行集合,因爲我必須在每組數據上完成不同的操作。但是,我在表中檢索的行數多於總數,這意味着我必須在某處檢索重複的行。下面是我的三套查詢的例子:查詢三個非等分數據集
SELECT DISTINCT t1.*
FROM table1 t1
INNER JOIN table2 t2
ON t2.ID = t1.ID
AND t2.NAME = t1.NAME
AND t2.ADDRESS <> t1.ADDRESS
SELECT DISTINCT t1.*
FROM table1 t1
INNER JOIN table2 t2
ON t2.ID = t1.ID
AND t2.NAME <> t1.NAME
AND t2.ADDRESS <> t1.ADDRESS
SELECT DISTINCT t1.*
FROM table1 t1
INNER JOIN table2 t2
ON t2.ID <> t1.ID
AND t2.NAME = t1.NAME
AND t2.ADDRESS <> t1.ADDRESS
正如你所看到的,我選擇(在查詢的順序)
- 組數據,其中ID和名稱匹配
- 設置數據,其中的ID相匹配的,但名稱不
- 組,其中ID不匹配數據,但名稱不
我一個m檢索比T1中存在的更多的行時,將所有三個查詢返回的結果數加起來,我認爲這在邏輯上是不可能的,此外,這意味着我必須重複行(如果這在邏輯上是可能的),在某處阻止我對每一組執行不同的命令(因爲一行將會執行另一個命令)。
有人能找到我要去的地方嗎?
它可能有助於解釋你在做什麼,爲什麼我看着這個,並認爲'wtf你在做什麼?' – cletus 2008-12-24 20:35:42