我想使用左连接加入两个表。我想把一个条件放在数据的一部分而另一个条件放在其余的数据上。这令人困惑,让我用一个例子来解释:
Table - a
Date ID name
2015-04-30 Y235J P54
2015-04-30 Y237F P54
2015-04-30 Y234A P54
2015-04-30 Y235 P54
2015-04-30 Y239 P54
2015-04-30 Y297 P54
2015-04-30 L234 P54
2015-04-30 L236 P54
2015-04-30 M234 P54
2015-04-30 M237 P54
2015-04-30 M239 P54
2015-04-30 M238 P54
2015-05-31
2015-06-30
2015-07-31
2015-08-31
2015-09-30
2015-10-31
Table -b
Date1 ID1
2015-04-30 Y235
2015-04-30 Y239
2015-04-30 L234
2015-04-30 M237
2015-04-30 M239
2015-05-31 B435
2015-05-31 B486
2015-06-30 B435
2015-06-30 B486
2015-06-30 B477
2015-07-31 G456
2015-07-31 G345
2015-07-31 B486
2015-07-31 B477
我想用表b做左连接表a。我想根据日期和ID,如果Date1< =' 2015-04-30' ,将表格左连接的条件与表格b放在一起基于日期,如果Date1> ' 2015年4月30日'
请告诉你如何处理这种情况
Select * from a left joins b (If b.Date1 <= '2015-04-30' then on
a.Date = b.Date1 and a.ID = b.ID else on a.Date = b.Date1)
我无法得到答案。 谢谢,
答案 0 :(得分:0)
您可以将此条件表达为:
Select *
from a left join
b
on a.Date = b.Date1 and
(b.Date1 > '2015-04-30' or and a.ID = b.ID)
答案 1 :(得分:0)
select *
from a
left join b
on a.ID = b.ID
and a.Date = b.Date1
where b.Date1 > '2015-04-30';