【发布时间】:2016-11-10 10:01:08
【问题描述】:
我和MySQL or PHP Transform rows to columns有同样的场景
但我现在必须重组我的表格,这是输出
与上面的链接几乎相同,但我要包含 AS_amount。有人可以帮助我吗?
我想要下面的结果,但每个 FA_mont2016 的右侧都有 AS_month_2016...等
这是我的代码:
CREATE DEFINER=`root`@`localhost` PROCEDURE `display_annualize_table`()
BEGIN
SET group_concat_max_len=10028;
SET @sql = NULL;
SELECT GROUP_CONCAT(DISTINCT CONCAT(
'MAX(IF(month = ''',
month,
''' and year(date) = ',
year(date),
', FS_amount, NULL)) AS `',
CONCAT('FA_',month),
'_',
year(date),
'`')
order by date
) INTO @sql
FROM tmp_results;
if coalesce(@sql,'') != '' then
set @sql = concat(', ', @sql);
end if;
SET @sql = CONCAT(
'SELECT r.account as Account,
r.region as Region ',
coalesce(@sql,''),
'FROM tmp_results r
LEFT JOIN accounts AS a
on r.account_id = a.id
GROUP BY r.account, r.region
ORDER By r.account_id');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
请您帮忙。提前谢谢!
【问题讨论】:
-
他们的代码和我一样。
-
我赞成您的问题,感谢您的努力。
标签: php mysql laravel-5.2