MySQL - 动态选择列

时间:2014-09-03 17:43:36

标签: mysql dynamic

我有一个帐户表和12个月余额,如下所示

Account | Fiscal Start | Month 1 | Month 2 | ... | Month 12
--------------------------------------------
12345          6         100.00     145.00   ...    199.00
56789          6         200.00     245.00   ...    299.00

财政开始表示列“月6”是1月

我想编写一个可以执行类似

的查询
SELECT Account,CONCAT('Month ','6') as 'January',CONCAT('Month ','7') as 'February'...

或使用函数进行正确的选择

SELECT Account,COLUMNFUNC('6') as January,COLUMNFUNC('7') as February...

我已经尝试了查询和功能。 使用该函数,我只能将Month X作为文本返回,因为在函数中执行动态MySQL语句无效,例如SELECT CONCAT('Month',monthNumber)

我想避免为每一栏编写一份大规模的CASE声明(特别是当这将适用于每周表时)

限制 - 我无法改变表格的布局 - 我不能使用程序,因为报告系统只允许单个查询(所以我不能做好准备和执行)

0 个答案:

没有答案