mysql如何判断一个字段的值,查询结果新增一字段

crszhi 2018-03-07 03:44:51
fund_list表
fund_id pay_type pay_fund
1 2 3
1 2 4
1 1 1
1 3 2
2 1 1
如题:我不知道怎么写就自己乱写了一个,如下:

SELECT
a.id,
IF(f.pay_type==1,f.pay_fund,'') AS 'cash',
IF(f.pay_type==2,f.pay_fund,'') AS 'card',
IF(f.pay_type==3,f.pay_fund,'') AS 'QRcode'
FROM `fund` a
LEFT JOIN (
SELECT
SUM(pay_fund) AS 'pay_fund',
pay_type,
fund_id
FROM `fund_list`
GROUP BY fund_id,pay_type
) f ON f.fund_id = a.id
GROUP BY a.id

结果是报错,乱写一通果然不行,然后就是我想这样pay_type等于1的时候,结果就加多一个现金的字段,同时group by a.id
我想要的结果:(来大神解答,我不想join3次)
id cash card QRcode
1 1 7 2
2 1
...全文
934 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
crszhi 2018-03-08
  • 打赏
  • 举报
回复
人呢
zjcxc 2018-03-08
  • 打赏
  • 举报
回复
通过这个改: IF(f.pay_type==1,f.pay_fund,'') AS 'cash', ---》 sum(IF(f.pay_type==1,f.pay_fund,'')) AS 'cash',
crszhi 2018-03-07
  • 打赏
  • 举报
回复
大神们,吃完饭了,快来做做运动
crszhi 2018-03-07
  • 打赏
  • 举报
回复
自顶

56,679

社区成员

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

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