将JOIN中的条件转移到SQL中的下一个JOIN?
问题描述:
您好我有一个SQL查询,我坚持一个条件,因为我是新来sql
将JOIN中的条件转移到SQL中的下一个JOIN?
select * from Today
LEFT JOIN
TABLEPricing Yesterday ON
Yesterday.Date = (select top 1 date from #Dates where MONTH(DATE) = MONTH(Today.Date)-1 AND YEAR(DATE) = YEAR(Today.Date))
LEFT JOIN Prev ON
Prev.Date = Yesterday.Date
在第二个条件Prev.Date = Yesterday.Date
将Yesterday.Date
采取先前自动分配表达式Yesterday.Date
像Yesterday.Date = (select top 1 date from #Dates where MONTH(DATE) = MONTH(Today.Date)-1 AND YEAR(DATE) = YEAR(Today.Date))
或我需要再次指定如下所示的相同条件。
Prev.Date = (select top 1 date from #Dates where MONTH(DATE) = MONTH(Today.Date)-1 AND YEAR(DATE) = YEAR(Today.Date))
请澄清我很困惑。
答
我必须撤销我以前的答案,因为我以为你必须明确写OUTER才能使其成为外连接。所以ElectricLlama是对的。你必须再次声明该条款。或者在这种情况下,您可以简单地删除LEFT以使其成为正常连接。
+0
非常感谢您的澄清.. – Neo 2013-04-24 08:12:06
更新的问题我错过了它 – Neo 2013-04-24 08:13:52