Postgresql里面支不支持case,when等关键字?

bonef 2005-07-01 02:56:08
比方说要做一个合计,当code=1的时候,sum(num),当code=2的时候,sum(0-num)

code,num是表中的两个字段。
SQL文怎么写?
...全文
529 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WZZ 2005-07-02
  • 打赏
  • 举报
回复
select
case when code=1 then sum(num)
when code=2 then sum(0-num)
end
from tablename;
good_luck898 2005-07-01
  • 打赏
  • 举报
回复
呵呵,未经验证!
好像不能用表达式,只能用固定值.
这样只有另找办法了
good_luck898 2005-07-01
  • 打赏
  • 举报
回复
楼主如果只有code1,2,可以用IF

IF (predicate, expression1, expression2) Returns expression1 if predicate is true; otherwise, returns expression2.

SELECT IF(code=1, sum(num), sum(3-num))

bonef 2005-07-01
  • 打赏
  • 举报
回复
to bon_jovi(西门疯雪):
用UNION是不是会生成两条纪录?
bon_jovi 2005-07-01
  • 打赏
  • 举报
回复
写两个query,然后用UNION,不就可以了。

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧