带有内连接的 DISTINCT SQL 查询从考虑因素中省略了一列,

DISTINCT SQL query with inner joins that omits a column from considerations,

我有一个 DB2 查询如下:

SELECT DISTINCT RETAILMASTERFILE.DOIDCD AS "RETAILMASTERFILE_DOIDCD",
         RETAILMASTERFILE.COCOMO AS "RETAILMASTERFILE_COCOMO",
         #XENOS.CUSTREF AS "XENOS_CUSTREF",
         #XENOS.ADDUDT AS "XENOS_ADDUDT",
         #XENOS.ADUPDD AS "XENOS_ADUPDD",
         #XENOS.ADUPDT AS "XENOS_ADUPDT",
         #XENOS.ADSTAT AS "XENOS_ADSTAT"
FROM     RETAILMASTERFILE INNER JOIN
         #XENOS ON RETAILMASTERFILE.DOCOMP = #XENOS.ADCOMP 
                AND RETAILMASTERFILE.COCOMO = #XENOS.ADDELN 
WHERE     (RETAILMASTERFILE.DOIDCD = 'CUST008') 
      AND (RETAILMASTERFILE.COCOMO = '345126032') 
      AND (RETAILMASTERFILE.DOCOMP = 'LONDON')

问题是 #XENOS.ADUPDT 可能不是唯一的,这给了我不需要的重复记录。 有什么办法可以将其排除在外吗?到目前为止,我在有限的知识和对 group by 的粗略理解中尝试的一切都打破了我的查询。

改用GROUP BY

SELECT   RETAILMASTERFILE.DOIDCD AS "RETAILMASTERFILE_DOIDCD",
         RETAILMASTERFILE.COCOMO AS "RETAILMASTERFILE_COCOMO",
         #XENOS.CUSTREF AS "XENOS_CUSTREF",
         #XENOS.ADDUDT AS "XENOS_ADDUDT",
         #XENOS.ADUPDD AS "XENOS_ADUPDD",
         MAX(#XENOS.ADUPDT) AS "XENOS_ADUPDT",
         #XENOS.ADSTAT AS "XENOS_ADSTAT"
FROM     RETAILMASTERFILE INNER JOIN
         #XENOS
         ON RETAILMASTERFILE.DOCOMP = #XENOS.ADCOMP AND
            RETAILMASTERFILE.COCOMO = #XENOS.ADDELN 
WHERE  (RETAILMASTERFILE.DOIDCD = 'CUST008') AND (RETAILMASTERFILE.COCOMO = '345126032') AND 
       (RETAILMASTERFILE.DOCOMP = 'LONDON')
GROUP BY RETAILMASTERFILE.DOIDCD,
         RETAILMASTERFILE.COCOMO,
         #XENOS.CUSTREF,
         #XENOS.ADDUDT,
         #XENOS.ADUPDD,
         #XENOS.ADSTAT;