根据MySQL中单列中的特定值增加三列数

时间:2016-05-31 05:13:17

标签: mysql

我有一个包含列pkey和角色

的表

Table structure

我需要o / p表,如下所示

O/p Table

表格背后的逻辑是,如果角色是配置器,那么config = 1的计数和审查的计数应该增加1并且抽象的数量增加1

此外,如果角色是评论者,则评论者的数量应为1,抽象者的数量应增加1。

我已尝试过以下代码,但无法导出o / p。

SELECT 
    lease_pkey, 
    SUM(CASE WHEN user_role IN( 'Abstractor') THEN 1 ELSE 0 END) AbstractorChagnes,
    SUM(CASE WHEN user_role IN( 'Reviewer') THEN 1 ELSE 0 END) Reviewer,
    SUM(CASE WHEN user_role IN( 'Project Owner TL','Configurator') THEN  Reviewer = Reviewer+1 ELSE 0 END) AdminChanges
FROM 
    v_audit_trail_trans
GROUP BY 
    lease_pkey

请咨询

1 个答案:

答案 0 :(得分:2)

您必须在自己的柜台中设置增加审稿人和抽象人员的条件:

SELECT lease_pkey, 
SUM(CASE WHEN user_role IN( 'Abstractor','Configurator','Reviewer') THEN 1 ELSE 0 END) AbstractorChagnes,
SUM(CASE WHEN user_role IN( 'Reviewer','Configurator') THEN 1 ELSE 0 END) Reviewer,
...
FROM v_audit_trail_trans
GROUP BY lease_pkey