我现有的表是这样的重建表:SQL查询中使用其动态行数据的列名
ID Grant Subtotal Month 1 Hatch 144.56 Nov-2012 2 NIH 240.9 Nov-2012 3 NSF 100.7 Nov-2012 4 Other 276.67 Nov-2012 5 NSF 234.53 Oct-2012 6 DOE 214.35 Oct-2012 7 Hatch 321.54 Oct-2012 8 Other 312.35 Oct-2012 9 NSF 156.89 Sep-2012 10 Hatch 147.99 Sep-2012 11 Other 245.67 Sep-2012 12 State 148.66 Sep-2012
表列出每个补助每月的开支。随着时间的推移,行号正在增加。在授权栏内,名称在大部分时间保持不变。当新的赠款可用时,它将出现在这里。这种情况不常发生。
现在我想绘制一张图表的数据,这样人们可以看到每个赠款每个月花了多少钱。为此,我想重塑表是这样的:
ID Month DOE Hatch NIH NSF Other State 1 Nov-2012 144.56 240.9 100.7 276.67 2 Oct-2012 214.35 321.54 234.53 312.35 3 Sep-2012 147.99 156.89 245.67 148.66
所需的新表将列月份(不同),但将在原有的表作为使用GRANT柱(不同)的所有数据值列名(动态)。这些新列将列小计的相应数据值作为其数据。
有人可以帮助建立查询吗?非常感谢。
顺便说一句:我正在使用MySQL/PHP。我是一个新手。任何示例代码都非常感谢。
A“支点”或“交叉”功能,将有助于在这里。您使用的是哪种DBMS系统,因为这些功能是特定于供应商的 – PinnyM
或者,如果您没有可用的“pivot”功能,则可以只进行一堆自我连接(每个聚合列一个)。 – 2012-11-12 18:12:06
我绝不是一个编码器。你们有没有可以提供任何示例代码?谢谢。 –