【发布时间】:2013-08-28 23:51:12
【问题描述】:
我有以下两张表 ONE & TWO
ONE TWO
ID ID CODE
----- ---------
1 1 1
2 1 2
3 2 1
4 3 1
5 3 2
3 3
需要输出
ID CODE
----------
1 2
2 1
3 3
4 NULL
5 NULL
我使用了以下查询,但它抛出错误“与 JOIN 运算符或 MERGE 语句关联的 ON 子句无效。”
SELECT A.ID
,B.CODE
FROM ONE A
LEFT JOIN
TWO B
ON A.ID = B.ID
AND B.CODE = (
SELECT
MAX(Z.CODE)
FROM TWO Z
WHERE Z.ID = A.ID
)
【问题讨论】:
-
Oracle 不支持在 Join 条件中使用子查询,因此请使用表名中的查询,就像我在下面给出的答案一样...
标签: mysql sql sql-server oracle db2