用 LEFT JOIN 和 where 子句替换 oracle 特定符号 (+)
Replacing oracle specific notation (+) with LEFT JOIN and where clause
最近 (+) 给我带来了一些问题,也许它现在已经贬值了。
现在我想用 LEFT JOIN 替换 (+) 符号,但我似乎无法按顺序获得语法。
这是我的:
SELECT x.a, y.a, z.a
FROM x, y, z
WHERE x.k = y.k(+)
AND x.p = z.p(+);
如何用 LEFT JOIN 替换 (+)?
-编辑-我已经阅读了“重复”的答案,其中很少有人接受了答案(难怪为什么)
我无法根据这些解决我的问题。
此处提供的答案准确无误并已解决 - 将其标记为已接受。
我得到了另一个(对我来说)有点混乱
FROM a,b,c
WHERE b.a = '101'
AND a.a = '202'
AND b.c = a.c
AND a.d = c.d(+)
AND ROWNUM = 1;
同样,我想用 LEFT JOIN
替换 (+)
等效语法为:
SELECT x.a, y.a, z.a
FROM x LEFT JOIN
y
ON x.k = y.k LEFT JOIN
z
ON x.p = z.p;
最近 (+) 给我带来了一些问题,也许它现在已经贬值了。 现在我想用 LEFT JOIN 替换 (+) 符号,但我似乎无法按顺序获得语法。
这是我的:
SELECT x.a, y.a, z.a
FROM x, y, z
WHERE x.k = y.k(+)
AND x.p = z.p(+);
如何用 LEFT JOIN 替换 (+)?
-编辑-我已经阅读了“重复”的答案,其中很少有人接受了答案(难怪为什么)
我无法根据这些解决我的问题。 此处提供的答案准确无误并已解决 - 将其标记为已接受。
我得到了另一个(对我来说)有点混乱
FROM a,b,c
WHERE b.a = '101'
AND a.a = '202'
AND b.c = a.c
AND a.d = c.d(+)
AND ROWNUM = 1;
同样,我想用 LEFT JOIN
替换 (+)等效语法为:
SELECT x.a, y.a, z.a
FROM x LEFT JOIN
y
ON x.k = y.k LEFT JOIN
z
ON x.p = z.p;