我有以下 Oracle 子查询,但在转换为 Spark SQL 时遇到了问题。
SELECT ID,
( SELECT v1.COL1
FROM VIEW1 v1
WHERE v1.COL2 = (SELECT COL2
FROM VIEW2 v2
WHERE v2.ID = v3.ID)
AND v1.COL3 = (SELECT v2.COL3
FROM VIEW2 v2
WHERE v2.COL3 = v3.COL3)
)
FROM VIEW3 v3
我尝试以以下格式运行它,但子查询返回的不是一行,而是多行:
SELECT v3.id,
v1.col1
FROM view3 v3
LEFT OUTER JOIN view1 v1
ON ( EXISTS(
SELECT 1
FROM view2 v2a
WHERE v2a.col3 = v3.col3
AND v2a.col3 = v1.col3
)
AND EXISTS(
SELECT 1
FROM view2 v2b
WHERE v2b.id = v3.id
AND v2b.col2 = v1.col2
)
)
您知道是否有可以为我进行这些转换的在线工具吗?