我需要在SQL Server 2014中加入下面的两个表,我使用了以下代码,但我的问题是Sales_org不匹配的地方。如果它不匹配,它应该返回一个基于Material而不是Sales Organization的值。 它为0的原因是两个国家都是一样的。
Left Join
[Z_PACKING] on [CTE_OPMAO2].[Material] = [Z_PACKING].[Material number]
AND
[CTE_OPMAO2].[Sales_org] = [Z_PACKING].[Sales Organization]
我尝试使用“OR”但卡住了。
[CTE_OPMAO2]
==============
Sales_org | Material
2110 | 005013K
2190 | 036060J
2190 | 036280J
2190 | 036353J
2110 | 037380K
2110 | 037740K
[Z_Packing]
==============
Sales_org | Material number | Packaging
2110 | 005013K | PC
2190 | 036060J | PAC
2190 | 036280J | CAR
0 | 036353J | PC
0 | 037380K | PC
0 | 037740K | PC
答案 0 :(得分:0)
我不确定你为什么有股票,忘了()?
select *
from CTE_OPMAO2
Left Join [Z_PACKING] on [CTE_OPMAO2].[Material] = [Z_PACKING].[Material number]
AND ([CTE_OPMAO2].[Sales_org] = [Z_PACKING].[Sales Organization]
or [Z_PACKING].[Sales Organization] = 0)