我有一个帐户表和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声明(特别是当这将适用于每周表时)
限制 - 我无法改变表格的布局 - 我不能使用程序,因为报告系统只允许单个查询(所以我不能做好准备和执行)