我通過ISQL SQL - Informix的錯誤導致了另一個錯誤 - 鏡子的走廊PITA
我給一個CASE
塊虛擬名稱的結果,使用Informix版本11.50.FC6 att_hrs
SELECT c.id,
CASE WHEN ( c.prog = 'UNDG'
AND (c.grd IN (SELECT DISTINCT grd FROM grd_table WHERE att_fctr = 1) OR (c.grd IN ('TR','W','LAB','WC')))
AND c.grd NOT IN ('WM')
AND c.stat NOT IN ('X','D'))
THEN CAST(SUM(c.hrs) AS CHAR(4))
ELSE 'ELSED (att)'
END att_hrs
FROM cw_rec c
WHERE c.id IN (SELECT DISTINCT id FROM stu_ids)
GROUP BY c.id
INTO TEMP cheese
WITH NO LOG;
這給了我一個錯誤:
294: The column (att_hrs) must be in the GROUP BY list.
試圖修復該錯誤的建議:
SELECT c.id,
CASE WHEN ( c.prog = 'UNDG'
AND (c.grd IN (SELECT DISTINCT grd FROM grd_table WHERE att_fctr = 1) OR (c.grd IN ('TR','W','LAB','WC')))
AND c.grd NOT IN ('WM')
AND c.stat NOT IN ('X','D'))
THEN CAST(SUM(c.hrs) AS CHAR(4))
ELSE 'ELSED (att)'
END att_hrs
FROM cw_rec c
WHERE c.id IN (SELECT DISTINCT id FROM stu_ids)
GROUP BY c.id,
att_hrs
INTO TEMP cheese
WITH NO LOG;
然後給了我這個錯誤:
217: Column (att_hrs) not found in any table in the query (or SLV is undefined).
他們那種發現att_hrs
很容易當它是不是在GROUP BY
黨,但現在突然之間,att_hrs
中丟失醬...
你能解決這個問題嗎?
什麼是真正的錯誤& |解決這裏發生的事情以及我需要做什麼來解決它?
編輯
我試圖RET的解決方案,以
GROUP BY 1,2,3...
並得到了以下錯誤:
321: Cannot group by aggregate column.
WITH NO日誌中的乳酪就像沒有果凍甜甜圈。 – 2011-06-04 01:12:28