我有一张桌子:
Part X Y
ABC 1 10
ABC 2 20
ABC 3 30
ABC 4 40
ABC 5 x
ABC 6 x
XYZ 1 50
XYZ 2 60
XYZ 3 70
XYZ 4 80
XYZ 5 x
XYZ 6 x
ETC 1 90
ETC 2 100
ETC 3 110
我想以下列方式选择此数据:
Part 1 2 3 4
ABC 10 20 30 40
XYZ 50 60 70 80
ETC 90 110 120 130
这可能吗?
注意:
我认为子查询可能是要走的路,但在这方面没有经验。
感谢您提供的任何帮助
答案 0 :(得分:0)
我只是张贴这个,因为之前的答案似乎已经过时了。在不知道您的RDBMS
的情况下,您可以MAX
使用CASE
:
SElECT part,
MAX(CASE WHEN X = 1 THEN Y END) Y1,
MAX(CASE WHEN X = 2 THEN Y END) Y2,
MAX(CASE WHEN X = 3 THEN Y END) Y3,
MAX(CASE WHEN X = 4 THEN Y END) Y4
FROM YourTable
GROUP BY part
如果你是RDBMS会支持它,你可以使用PIVOT
命令。