쿼리의 값을 디코딩하려고합니다. 상태에 따라, 나는 sysdate
을 반환하거나 원하는 또는 컬럼의 MAX : SYSDATE가 집계 함수가 아니기 때문에집계 및 비 집계 결과가있는 디코드
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이 아닌 하나의 그룹 그룹 funciton 오류를 던지고있다 . 자세한 IF 블록을 작성하지 않고이를 달성하는 가장 좋은 방법은 무엇입니까?
't2.productstatus'에 의해 그룹이 필요하지 않습니까? – Laurence
예, 가능합니다. 'GROUP BY t1.facility, t1.product, t2.productstatus'를 추가하면 원하는 결과를 얻을 수 있습니다. – Paul
@Laurence - 우승자가있는 것 같습니다. 그것을 약간의 설명과 함께 대답으로 추가하십시오. –