我試圖解碼查詢中的值。基於現狀,我想要麼返回sysdate
或列的MAX:解碼與聚合和非聚合結果
SELECT DECODE(t2.productstatus, 'Stores', SYSDATE, MAX(t1.actual_moveout))
INTO v_last_moveout
FROM rw_product_flow t1
JOIN rw_product_master t2
ON t1.facility = t2.facility
AND t1.product = t2.product
WHERE t1.facility = p_facility
AND t1.product = p_product;
然而,這是拋出一個ORA-00937不是一個單一的組羣功能可按錯誤,因爲SYSDATE不是一個聚合函數。如何在不編寫詳細的IF塊的情況下達到此目的的最佳方法是什麼?
這不需要一個'組通過t2.productstatus'? – Laurence
是的,是的。添加'GROUP BY t1.facility,t1.product,t2.productstatus'可以得到理想的結果。 – Paul
@Laurence - 看起來我們有贏家;請添加,作爲答案,也許有一些解釋。 –