У меня есть запрос:Как заменить NULL, когда COUNT (*) возвращает NULL в DB2
SELECT A.AHSHMT AS SHIPMENT, A.AHVNAM AS VENDOR_NAME, D.UNITS_SHIPPED, D.ADPON AS PO, B.NUMBER_OF_CASES_ON_TRANSIT, C.NUMBER_OF_CASES_RECEIVED FROM AHASNF00 A
INNER JOIN (SELECT IDSHMT, COUNT(*) AS NUMBER_OF_CASES_ON_TRANSIT FROM IDCASE00 WHERE IDSTAT = '01' GROUP BY IDSHMT) B
ON (A.AHSHMT = B.IDSHMT)
LEFT JOIN (SELECT IDSHMT, (COUNT(*) AS NUMBER_OF_CASES_RECEIVED FROM IDCASE00 WHERE IDSTAT = '10' GROUP BY IDSHMT) C
ON (A.AHSHMT = C.IDSHMT)
INNER JOIN (SELECT ADSHMT, ADPON, SUM(ADUNSH) AS UNITS_SHIPPED FROM ADASNF00 GROUP BY ADSHMT, ADPON) D
ON (A.AHSHMT = D.ADSHMT)
WHERE A.AHSHMT = '540041134';
На первом JOIN заявление у меня есть COUNT (*), на этот счет иногда я буду получать НОЛЬ. Мне нужно, чтобы заменить это «0-ноль», я знаю, кажется, я знаю, как сделать это в SQL
ISNULL(COUNT(*), 0)
Но это не работает для DB2, как я могу это сделать? Вся ваша помощь действительно ценит это.
'COUNT (*)' возвращает _null_? Если нет соответствующих строк, то он возвращает 0? – Ben