Dan*_*llo 2 sql db2 iseries-navigator
我需要一个查询,使用其他表值的第一行来加入TABLE:
SELECT * FROM TABLEA A LEFT JOIN
(SELECT * from TABLEB
WHERE FIELD1 <> '3' and FIELD2 = 'D' AND A.CODE=CODE
FETCH FIRST 1 ROW ONLY
) B
on a.FIELDA = b.FIELDA
and A.FIELDB = B.FIELDB
Run Code Online (Sandbox Code Playgroud)
但DB2返回ERROR因为无法使用A.CODE
怎么解决这个?
您需要使用嵌套表表达式:
SELECT * FROM TABLEA A LEFT JOIN
LATERAL (SELECT * from TABLEB
WHERE FIELD1 <> '3' and FIELD2 = 'D' AND A.CODE=CODE
FETCH FIRST 1 ROW ONLY
) B
on a.FIELDA = b.FIELDA
and A.FIELDB = B.FIELDB
Run Code Online (Sandbox Code Playgroud)