我在尝试选择字段(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。
答案 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