我想将oracle查询转换为纯SQL查询。在oracle中,联接条件将通过以下方式完成:
Select col1,col2,col3
from TABLE1,TABLE2
WHERE TABLE1.COL IN TABLE2.COL2
当我将上面的代码转换为简单的SQL查询时:
Select col1,col2,col3
from TABLE1 INNER JOIN
TABLE2
ON TABLE1.COL IN TABLE2.COL2
我得到Syntax error: Expected "(" or keyword UNNEST but got identifier "TABLE2"
答案 0 :(得分:0)
您应该使用=
而不是IN ..
IN子句require()
Select col1,col2,col3
from TABLE1
INNER JOIN TABLE2 ON TABLE1.COL = TABLE2.COL2
答案 1 :(得分:0)
如果col2
是一个数组,则可以使用:
SELECT col1, col2, col3
FROM TABLE2 t2 CROSS JOIN
UNNEST(t2.col2) as col2_element JOIN
TABLE1 t1
ON t1.COL = col2_element;