【发布时间】:2016-11-07 23:35:15
【问题描述】:
我是 DB2 新手,找不到与 EXCEPT 查询相关的任何内容 [除了] 非常简单的示例。我正在尝试比较两个表中的值,以返回出现在TABLE_A 但不在TABLE_B 中的值。问题是被比较的列不完全键,但需要先进行一些操作。
TABLE_A 中的ID_1 字段如下所示:000 999
TABLE_B 中的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 中。
【问题讨论】: