我有一张像
这样的表格| ID | COL1 | COL2 |
| 1 | 1 | w |
| 1 | 2 | x |
| 2 | 1 | y |
| 2 | 2 | z |
当我查询它时,我想要
| ID | COL2:1 | COL2:2 | <--- (when COL1=1 and COL1 =2)
| 1 | w | x |
| 2 | y | z |
我已经为同一张表尝试了GROUP BY
和JOIN
,但我得到的是重复项而不是分组数据。我需要一些指导,以了解如何获得我期待的结果。
答案 0 :(得分:2)
您可以使用MAX()
和CASE
语句:
SELECT ID
,MAX(CASE WHEN Col1 = 1 THEN Col2 END) AS Col2_1
,MAX(CASE WHEN Col1 = 2 THEN Col2 END) AS Col2_2
FROM YourTable
GROUP BY ID
演示:SQL Fiddle