如果我的问题看上去很奇怪,我很抱歉,希望当我解释的时候,这是可以理解的.
我有一个select语句
select
cax.CustomerID,
cax.AddressID,
c.YearBuilt,
a.Line1,
a.Line2,
a.City,
a.ZipCode,
a.StateID,
a.SubDivision,
s.Directions
from [CustomerAddressXREF] cax
inner join [Customer] c on c.CustomerID = cax.CustomerID
inner join [Address] a on a.AddressID = cax.AddressID
inner join [SubDivision] s on s.SubDivisionName = a.SubDivision
where cax.CustomerID = 11,并返回以下数据

我知道问题就在SubDivision专栏中。如果我注释掉了a.SubDivision和s.Directions,那么返回1行,这就是它应该基于语句的内容。我想做的是,如果a.SubDivision = N/A,那么我不想将它包含在查询或s.Directions中。
我不知道从哪里开始,从哪里开始实现这一目标。我能做我想做的事吗
编辑
我要找的结果是

因此,如果SubDivision列包含N/A,则不会选择SubDivision或方向
发布于 2016-12-24 05:08:49
还不清楚你想要的结果是什么,所以我们只是猜测。
根据规范,省略a.SubDivision和a.Directions的值并替换为空值的值。
改变这一点:
inner join [SubDivision] s on s.SubDivisionName = a.SubDivision对此:
LEFT
JOIN [SubDivision] s
ON a.SubDivision = s.SubDivisionName
AND a.SubDivision <> 'N/A'或与此(略有不同,但相当):
LEFT
JOIN [SubDivision] s
ON s.SubDivisionName = a.SubDivision
AND s.SubDivisionName <> 'N/A'https://stackoverflow.com/questions/41310401
复制相似问题