0
我是DB2新手,無法找到與EXCEPT
查詢相關的任何內容[除非是非常簡單的示例]。我試圖比較兩個表中的值,以便返回出現在TABLE_A
而不是TABLE_B
中的值。問題是被比較的列並不完全一樣,但首先需要一些操作。從TABLE_A
EXCEPT DB2中的SELECT SQL查詢
ID_1
場看起來是這樣的:從TABLE_B
000 999
ID_2
場看起來是這樣的:111-000999
所以從每個ID按摩的數據,我們得到的000999
鍵值此示例行。這應該導致該行被排除在查詢結果之外,因爲數據出現在兩個表中。
SELECT REPLACE (ID_1, ' ','') AS ID_1_TRIM
FROM MYDB.TABLE_A
EXCEPT
SELECT SUBSTRING(ID_2,5,10)
FROM MYDB.TABLE_B
這個語法是不行的,它似乎返回所有值TABLE_A
,即使被按摩鍵值也出現在TABLE_B
。
謝謝,我試過這些替代方法,返回的結果仍然是'TABLE_A'中的所有值。當我分別運行每個'SELECT'查詢時,返回的值都是相同的格式並且應該匹配。 – joshi123
真的很奇怪。如果你這樣做:SELECT * FROM MYDB.TABLE_A f1異常加入MYDB.TABLE_B f2 on cast(trim(REPLACE(f1.ID_1,'',''))as varchar(15))= cast(trim(SUBSTRING (f2.ID_2,5,10))as varchar(15)) – Esperento57
看起來這是一個數據問題,但修剪技術是有用的,因爲有隱藏的空間,謝謝 – joshi123