首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebird SQL如果在where中

Firebird SQL如果在where中
EN

Stack Overflow用户
提问于 2017-07-19 09:28:59
回答 2查看 1.1K关注 0票数 0

我想从products from (库存) shelf1和货架2中选择数量,但也要列出shelf3中的项目,但列出数量为shelf3 = 0的数量。

代码语言:javascript
复制
SELECT item, amount 
FROM prodcuts 
WHERE kind = 'bike' 
and (stock = 'shelf1' or stock = 'shelf2' )

代码语言:javascript
复制
Table products
item    kind    stock   amount
cruiser bike    shelf1  1
cruiser bike    shelf2  2
racing  bike    shelf3  4

结果是

代码语言:javascript
复制
cruiser 3

但我需要的是结果

代码语言:javascript
复制
cruiser 3
racing  0
EN

回答 2

Stack Overflow用户

发布于 2017-07-19 11:10:56

您的结果似乎是:

代码语言:javascript
复制
select p.item, sum(case when p.stock = 'shelf3' then 0 else p.amount end)
from products p
group by p.item;

然而,我不太确定这与你的解释是否相符。

票数 3
EN

Stack Overflow用户

发布于 2017-07-19 10:20:21

尝尝这个

代码语言:javascript
复制
SELECT item, CASE WHEN stock = 'shelf3' THEN 0 ELSE amount END AS amount
FROM prodcuts 
WHERE kind = 'bike' 
and (stock = 'shelf1' or stock = 'shelf2'' or stock = 'shelf3' )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45179558

复制
相关文章

相似问题

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