Join 술어가 아래 SQL에 대해 유효하지 않은 오류가 발생했습니다. 매우 지저분 할 수는 있지만 가능하면 도와주십시오. 미리 감사드립니다.Join 술어 유효하지 않음 (SQL0338)
SELECT department.eaaitm,
RIGHT(LEFT(egacdt, 6), 2),
SUM(CASE department.eaaitm
WHEN '912' THEN egacam/2
ELSE egacam
END) AS suma,
SUM(CASE department.eaaitm
WHEN '700' THEN CASE data.eaaicl
WHEN '400' THEN -egacam
WHEN '402' THEN -egacam
WHEN '404' THEN -egacam
ELSE egacam
END
WHEN '912' THEN egacam/2
ELSE egacam
END/cuarat)
FROM mvxcdtpusd.fchacc department,
mvxcdtpusd.fchacc data
LEFT JOIN mvxcdtpusd.fgledg
ON data.eaaitm = egait1
AND data.eacono = 888
AND data.eaaitp = 1
AND egcono = 888
AND (egdivi = ?
AND (data.eadivi = ?
OR data.eadivi = ''))
AND (egdivi = ?
AND (department.eadivi = ?
OR department.eadivi = ''))
AND egacdt >= ?
AND egacdt <= ?
JOIN mvxcdtpusd.ccurra
ON (cudivi = (CASE egdivi
WHEN '300' THEN egdivi
ELSE '100'
END)
AND cucucd = 'USD'
AND LEFT(cucutd, 6) = LEFT(egacdt, 6)
AND ((cudivi = '300'
AND cucrtp = '50')
OR (cudivi <> '300'
AND culocd = 'USD'
AND cucrtp = '1'))
AND RIGHT(cucutd, 2) = '01')
WHERE egait3 = department.eaaitm
AND department.ealccd IN (0, 1)
AND department.eacono = 888
AND department.eaaitp = 3
AND data.eaaicl >= '400'
AND (department.eaaitm IN ('000')
OR department.eaaitm IN ('912')
AND data.eaaitm NOT IN ('5707310')
OR department.eaaitm IN ('914', '808')
AND data.eaaitm NOT IN ('5707310'))
GROUP BY department.eaaitm,
RIGHT(LEFT(egacdt, 6), 2)
ORDER BY department.eaaitm,
RIGHT(LEFT(egacdt, 6), 2)
----------------------------------- Ans : ------ ----------------------------- 나는 이미 풀었다. 감사합니다 모든
SELECT department.eaaitm,
RIGHT(LEFT(egacdt, 6), 2),
SUM(CASE department.eaaitm
WHEN '912' THEN egacam/2
ELSE egacam
END) AS suma,
SUM(CASE department.eaaitm
WHEN '700' THEN CASE data.eaaicl
WHEN '400' THEN -egacam
WHEN '402' THEN -egacam
WHEN '404' THEN -egacam
ELSE egacam
END
WHEN '912' THEN egacam/2
ELSE egacam
END/cuarat)
FROM mvxcdtpusd.fchacc department,
mvxcdtpusd.fchacc data
LEFT JOIN mvxcdtpusd.fgledg
ON data.eaaitm = egait1
AND data.eacono = 888
AND data.eaaitp = 1
AND egcono = 888
AND (egdivi = 100
AND (data.eadivi = 100
OR data.eadivi = ''))
AND egacdt >= 20120101
AND egacdt <= 20120131
JOIN mvxcdtpusd.ccurra
ON (cudivi = (CASE egdivi
WHEN '300' THEN egdivi
ELSE '100'
END)
AND cucucd = 'USD'
AND LEFT(cucutd, 6) = LEFT(egacdt, 6)
AND ((cudivi = '300'
AND cucrtp = '50')
OR (cudivi <> '300'
AND culocd = 'USD'
AND cucrtp = '1'))
AND RIGHT(cucutd, 2) = '01')
WHERE egait3 = department.eaaitm
AND department.ealccd IN (0, 1)
AND department.eacono = 888
AND department.eaaitp = 3
AND data.eaaicl >= '400'
AND (department.eaaitm IN ('000')
OR department.eaaitm IN ('912')
AND data.eaaitm NOT IN ('5707310')
OR department.eaaitm IN ('914', '808')
AND data.eaaitm NOT IN ('5707310'))
AND (egdivi = 100
AND (department.eadivi = 100
OR department.eadivi = ''))
GROUP BY department.eaaitm,
RIGHT(LEFT(egacdt, 6), 2)
ORDER BY department.eaaitm,
RIGHT(LEFT(egacdt, 6), 2)
이 코드를 들여 쓰기 할 수 있다면 더 좋을 것입니다. 보십시오 [여기에서] (http://www.dpriver.com/pp/sqlformat.htm). – cctan
다시 스크롤해야하므로 스크롤 할 필요가 없습니다. –
일부 RDBMS에서는 다른 조인 구문과 쉼표 조인을 함께 사용할 수 없습니다. –