根据条件选择或保留字段为空而不影响查询

时间:2011-06-07 00:53:29

标签: sql ms-access

我想选择一个字段,但仅限于特定情况,否则我希望它只是空白或空。实施例

Select
a.Name,
c.Hat as FancyHat,
b.Shirt,
b.Shoes,
c.Hat

from
directory a, store b, superHatStore c

where 
a.key = b.key
a.key = c.key

现在我只想显示一个FancyHat名称,如果它是'fancy_hat'示例

where c.Type = 'fancy_hat'

但是如果我把它放在where子句中它太限制了......因为我也希望帽子的名字在另一个领域而不管帽子类型......也许我只是做错了什么。任何建议将不胜感激,谢谢

1 个答案:

答案 0 :(得分:1)

对于MS-Access,您可以使用IIF声明
http://www.techonthenet.com/access/functions/advanced/iif.php

CASE声明(如果您使用的是VBA)
http://www.techonthenet.com/access/functions/advanced/case.php

编辑:所以,如果我正确阅读你想要的(未经测试!):

Select
a.Name,
iif (c.[type] = "fancy_hat", c.hat, NULL) as FancyHat,
b.Shirt,
b.Shoes,
c.Hat

from
directory a, store b, superHatStore c

where 
a.key = b.key
a.key = c.key