选择计数大于1的记录其中字段具有多个值

时间:2015-06-22 19:23:13

标签: sql db2

我在尝试选择字段(invH.CODE)是VARCHAR类型的不同值的记录时遇到问题。例如,如果有2个不同的代码,其值为" PLCH"和" ABCD"。下面是我到目前为止的SQL:

SELECT invH.INVOICE_NO
FROM SCHEMA.INVOICE_H invH
WHERE invH.STATUS = 'X'
GROUP BY invH.INVOICE_NO
HAVING COUNT (DISTINCT invH.CODE) > 1

我试图选择记录,其中存在一个实例,其中存在该字段的两个不同值(一个记录中该字段可以有多个值)。我不确定如何在语法上得到它。请告诉我任何有效的方法。

我正在使用DB2 / AIX64 V9.5.3。

1 个答案:

答案 0 :(得分:0)

我认为,如果你使用表之间的自联接来获取值, 否则你需要使用子查询来解决它。 如果加入我认为下面的查询应该工作

SELECT DISTINCT invH1.INVOICE_NO
FROM SCHEMA.INVOICE_H invH1 , SCHEMA.INVOICE_H invH2
WHERE invH1.STATUS = invH2.STATUS
and invH1.INVOICE_NO = invH2.INVOICE_NO
and invH1.STATUS = 'X'
and invH1.CODE <> invH2.CODE