Sql where子句中的条件差异
为什么在联接时重复以下查询条件?与第二个查询相比,这有什么影响吗 一, 二, 谢谢,Sql where子句中的条件差异,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,为什么在联接时重复以下查询条件?与第二个查询相比,这有什么影响吗 一, 二, 谢谢, Work这两个查询返回相同的结果(在删除第一个查询中的问号并更正第二个查询末尾缺少的结束括号之后),但在第一个版本中存在大量冗余条件 当您将条件分组到括号中时,我希望看到或,但只有和。您可以去掉括号并简化为: select * from A147_BOMDETAILS_VIEW T1 left join A147_INVENTQTYCOSTS_VIEW T2 on T1.INVENTCOLORID_
Work这两个查询返回相同的结果(在删除第一个查询中的问号并更正第二个查询末尾缺少的结束括号之后),但在第一个版本中存在大量冗余条件 当您将条件分组到括号中时,我希望看到
或
,但只有和
。您可以去掉括号并简化为:
select *
from A147_BOMDETAILS_VIEW T1
left join A147_INVENTQTYCOSTS_VIEW T2
on T1.INVENTCOLORID_COMPONENT = T2.INVENTCOLORID
and T1.DATAAREAID = T2.DATAAREAID
and T1.partition = T2.partition
and T1.INVENTSITEID = T2.INVENTSITEID
and T1.ITEMID_COMPONENT = T2.ITEMID
select *
FROM A147_BOMDETAILS_VIEW T1
LEFT OUTER JOIN A147_INVENTQTYCOSTS_VIEW T2
ON T1.INVENTCOLORID_COMPONENT=T2.INVENTCOLORID
AND (T1.DATAAREAID = T2.DATAAREAID)
AND (T1.PARTITION = T2.PARTITION
AND T1.INVENTSITEID=T2.INVENTSITEID
and T1.ITEMID_COMPONENT=T2.ITEMID
select *
from A147_BOMDETAILS_VIEW T1
left join A147_INVENTQTYCOSTS_VIEW T2
on T1.INVENTCOLORID_COMPONENT = T2.INVENTCOLORID
and T1.DATAAREAID = T2.DATAAREAID
and T1.partition = T2.partition
and T1.INVENTSITEID = T2.INVENTSITEID
and T1.ITEMID_COMPONENT = T2.ITEMID