【发布时间】:2009-09-29 02:05:48
【问题描述】:
基本上,我想要的是如果 tableB 中有类型为“X”的记录,我想查看它,否则我不想要,但我想要 tableA 中的所有记录。
我知道我可以通过将 tableB.type = 'X' 放在 LEFT OUTER JOIN ON 子句中来完成此操作,但我不能这样做,因为我仅限于使用 where 条件,因为我正在使用我不会命名的程序的受限查询管理器,但我绝对讨厌。 :)
SELECT *
FROM tableA
LEFT OUTER JOIN ON tableA.ID = tableB.ID
WHERE tableB.type = 'X'
我该如何做到这一点?
编辑
我已经尝试过了,但我仍然没有从 tableA 中获取所有记录。我正在 SQL 服务器上对此进行测试,以避免长时间等待我的查询在生产系统上运行。如果有帮助的话,我很确定生产系统正在使用 Oracle。
SELECT *
FROM tableA LEFT OUTER JOIN ON tableA.ID = tableB.ID
WHERE tableB.type = 'X' OR tableB.type IS NULL
【问题讨论】:
标签: sql