我有这张桌子:
userid | property
1 | propA
1 | propC
2 | propA
2 | propB
并且需要此输出用于csv导出/导入
userid;propA;propB;probC
1;yes;no;yes
2;yes;yes;no
没有像php这样的脚本语言可以吗? 如果"是"那对我来说完全没问题。和"不"只是" 1"和" 0" (例如)但重要的是我每个用户只需要一行,每个属性只需要一个字段。
答案 0 :(得分:1)
您可以使用条件聚合。但是,您的格式不是CSV(提示:“C”表示逗号)。
要获得该格式,您可以执行以下操作:
select t.userid,
max(case when t.property = 'propA' then 'Yes' else 'No' end) as PropA,
max(case when t.property = 'propB' then 'Yes' else 'No' end) as PropB,
max(case when t.property = 'propC' then 'Yes' else 'No' end) as PropC
from table t
group by t.userid;
这恰好起作用,因为字母表后面的“是”而不是“否”。就个人而言,我只会使用数字,0和1:
select t.userid,
max(t.property = 'propA') as PropA,
max(t.property = 'propB') as PropB,
max(t.property = 'propC') as PropC
from table t
group by t.userid;