1
我想知道是否有人能够帮助我处理我正在处理的DB2查询?从查询返回空行
我基本上试图在Control Number
上的两个表DB2Cust
和NOTIFICATION_REQUE
之间做左外连接。
我想返回DB2Cust
中的所有行,但是,在NOTIFICATION_REQUE
我想选择最大Notice_DT
并仅返回该记录。
下面的查询是我到目前为止。
它很接近,但它不会返回DB2Cust
中不存在的控制号码NOTIFICATION_REQUE
。
SELECT
C.CONTROL_NO,
NR.CONTROL_NBR,
COALESCE(C.LNAME,'') AS LNAME,
COALESCE(C.FNAME,'') AS FNAME,
COALESCE(CAST(NR.NOTICE_DT AS VARCHAR(10)), '') AS NOTICE_DT
FROM WITC00DS.DB2CUST C
LEFT OUTER JOIN WITC00DS.NOTIFICATION_REQUE NR
ON C.CONTROL_NO = NR.CONTROL_NBR
AND C.AGENT_CODE = 'HR' AND C.STW_DATE BETWEEN '01/01/2000' AND '01/17/2014'
WHERE NR.NOTICE_DT = (SELECT MAX(NOTICE_DT)
FROM WITC00DS.NOTIFICATION_REQUE ZZ
WHERE ZZ.CONTROL_NBR = C.CONTROL_NO)
戈登您好,感谢您的帮助......然而,当我尝试上面的第一个解决方案我得到“与JOIN操作符关联的ON子句或MERGE语句无效SQLSTATE = 42972”。 – user2997454
@ user2997454。 。 。看起来,DB2不支持该语法(尽管其他数据库可以)。无论如何,我更喜欢第二个版本。 –