如何动态创建与表中的id相关的所有字段值的视图?

时间:2015-01-15 15:50:14

标签: mysql sql

以下是一个示例表:

--|--id--|--value--|
--|  1   |   v1    |
--|  1   |   v2    |
--|  1   |   v3    |
--|  1   |   v4    |
--|  2   |   v1    |
--|  2   |   v2    |
--|  2   |   v3    |
--|  3   |   v1    |
--|  3   |   v2    |
--------------------

我的查询结果应该是:

--|--id--|--value1-|--value2-|--value3-|--value4-|
--|  1   |   v1    |   v2    |   v3    |   v4    |
--|  2   |   v1    |   v2    |   v3    |   NULL  |
--|  3   |   v1    |   v2    |   NULL  |   NULL  |
--------------------------------------------------

这可以使用SQL吗?

1 个答案:

答案 0 :(得分:0)

使用conditional Aggregate

SELECT id,
       Max(CASE
             WHEN value = 'v1' THEN Value
           END) Value1,
       Max(CASE
             WHEN value = 'v2' THEN Value
           END) Value2,
       Max(CASE
             WHEN value = 'v3' THEN Value
           END) Value3,
       Max(CASE
             WHEN value = 'v4' THEN Value
           END) Value4
FROM   yourtable