에 의해 그룹에서 @param를 사용하여 작동하지 않습니다동적 SELECT 나는 다음을 수행하려고 해요
SELECT CASE
WHEN @aggregation_zeit = 'day' THEN DAY
WHEN @aggregation_zeit = 'month' THEN MONTH
WHEN @aggregation_zeit = 'year' THEN YEAR
END AS TIME_FIELD,
FROM ...
GROUP BY YEAR,
CASE
WHEN @aggregation_zeit = 'day' THEN MONTH
WHEN @aggregation_zeit = 'month' THEN MONTH
END,
CASE
WHEN @aggregation_zeit = 'day' THEN DAY
END
를하지만, 그것이 포함되지 않기 때문에 그 MONTH 및 DAY는 선택 목록에서 유효하지 않은 말을 계속 집계 함수에서.
어떻게 알 수 있습니까? 알려 주시면 답을 변경할 수 있습니다하지 않을 경우
감사합니다, 펠릭스
두 가지 문제는, 당신의 선택 1.) 당신의 CASE 문이 GROUP BY에 CASE 문 동일하지 않습니다, 당신이해야) 2.이어야한다 이 문자 필드로 ''를 사용하여 MONTH, YEAR로 견적을 제출하십시오. '일'. –
두 CASE 문은 항상 동일해야합니까? 내 경우에는 SELECT에서 하나의 TIME_FIELD를 필요로하므로이 작업을 수행하지는 않지만 GROUP BY는 YEAR, MONTH, DAY 또는 YEAR, MONTH 또는 YEAR 중 하나 여야합니다. – Kiechlus
IF를 사용하지 않고 쿼리를 여러 번 반복하지 않고도이 작업을 수행 할 수있는 다른 방법이 있습니까? – Kiechlus