【发布时间】:2012-02-13 00:21:45
【问题描述】:
我需要为 FULL OUTER JOIN 添加值条件。
即我正在尝试这样做:
SELECT *
FROM Table1
FULL OUTER JOIN Table2 ON Table1.Field1 = Table2.Field1 AND Table2.Field2 > 5
但是这个脚本不起作用。实际上看起来条件(Table2.Field2 > 5)根本没有应用。
RIGHT OUTER JOIN 也出现了同样的问题,所以我认为原因是当存在 RIGHT 或 FULL 连接时,连接中的右表没有应用值条件。
为什么会这样?对这种行为有概念上的解释吗?
当然,主要问题是如何解决这个问题。
有没有办法在不使用子查询的情况下解决这个问题?
SELECT *
FROM Table1
FULL OUTER JOIN (SELECT * FROM Table2 WHERE Table2.Field2 > 5) AS t2 ON Table1.Field1 = t2.Field1
【问题讨论】:
标签: sql join outer-join full-outer-join