首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何不根据select语句期间的条件从列中选择数据?

如何不根据select语句期间的条件从列中选择数据?
EN

Stack Overflow用户
提问于 2016-12-24 04:48:49
回答 1查看 49关注 0票数 2

如果我的问题看上去很奇怪,我很抱歉,希望当我解释的时候,这是可以理解的.

我有一个select语句

代码语言:javascript
复制
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或方向

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-24 05:08:49

还不清楚你想要的结果是什么,所以我们只是猜测。

根据规范,省略a.SubDivisiona.Directions的值并替换为空值的值。

改变这一点:

代码语言:javascript
复制
inner join [SubDivision] s on s.SubDivisionName = a.SubDivision

对此:

代码语言:javascript
复制
  LEFT
  JOIN [SubDivision] s 
    ON a.SubDivision = s.SubDivisionName
   AND a.SubDivision <> 'N/A'

或与此(略有不同,但相当):

代码语言:javascript
复制
  LEFT
  JOIN [SubDivision] s 
    ON s.SubDivisionName = a.SubDivision 
   AND s.SubDivisionName <> 'N/A'
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41310401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档