左边加入可选的地方

时间:2015-07-05 20:07:20

标签: oracle join left-join where-clause

我有两个表和一个子句,但我想让左侧始终独立于子句所在的位置。

实施例

ANPP.se

我一直是一个查询,当表B中没有值或者WHERE获取子句时它就可以工作。

table a
-----------------
id
nome

table B
-----------------
id
nome
date
id_a

在我的表中有一个注册表,其中包含tb.date =' 2015-07-05'。此查询有效,但我尝试使用tb.date =' 2015-07-04'在连接中使用左侧的查询提取,但不要带有table_b' 2015-07-05'。

的行。

我希望在连接中获取左侧,而不依赖于子句。

1 个答案:

答案 0 :(得分:4)

select  ta.* from table_a ta
left join  table_b tb on (ta.id =  tb.id_a and tb.date = '2015-07-05');

此外,“2015-07-05”在Oracle中被视为字符串。始终使用to_date来比较日期值。