我已经将我的数据简化为类似以下内容:
+---------+-----+--------+
| item | type | color |
+-------+-------+--------+
| 1 | A | red |
| 1 | B | blue |
| 2 | A | orange |
| 2 | B | pink |
| 2 | C | blue |
| 3 | B | yellow |
+---------+-----+--------+每个项目的‘类型’的数量是可变的,因此,我需要一个MySQL透视解决方案,是动态的,可以处理任何数量的类型。下面是我需要从MySQL查询返回的结果集类型。如您所见,我不需要汇总计算。
+---------+------+--------+--------+
| item | A | B | C |
+-------+--------+--------+--------+
| 1 | red | blue | |
| 2 | orange | pink | blue |
| 3 | | yellow | |
+-------+--------+--------+--------+我怀疑解决方案可能涉及到使用MySQL过程?
发布于 2015-08-19 23:13:36
select item, min(A), min(B), min(C) from (
select item,
case when type = 'A' then color end as 'A',
case when type = 'B' then color end as 'B',
case when type = 'C' then color end as 'C'
from color
) as tbl
group by item发布于 2015-08-20 02:22:19
你在“旋转”。在中,我提供了一个通用存储过程来为您生成SELECT语句。
https://stackoverflow.com/questions/32098981
复制相似问题