我有一个包含3个表ArtNr
,Year
和Price
`select * from database`
将提供类似的内容
ArtNr - Year - Price
------------------------
601230001 - 2011 - 100
601230001 - 2012 - 110
601230001 - 2013 - 105
604560001 - 2012 - 250
604560001 - 2013 - 225
如何获得像
这样的结果ArtNr - 2011 - 2012 - 2013
------------------------------
601230001 - 100 - 110 - 105
604560001 - NULL - 250 - 225
答案 0 :(得分:0)
SELECT ArtNr,
MIN(CASE WHEN Year = 2011 THEN Price END) Year2011,
MIN(CASE WHEN Year = 2012 THEN Price END) Year2012,
MIN(CASE WHEN Year = 2013 THEN Price END) Year2013
FROM YourTable
GROUP BY ArtNr
答案 1 :(得分:0)
此处需要一个数据透视表(在access / excel中称为'交叉号')。我们可以使用一些案例陈述对选择进行硬编码以涵盖固定的年数,但每次添加或删除一年时都必须重新考虑该解决方案。 @Lamak在下面有这样的解决方案。
或者,如果我有能力(我从来没有),我会切换数据库引擎。以下是三个数据库引擎,它们提供了创建数据透视表的工具: