我有同樣的情況,因爲我有在MySQL or PHP Transform rows to columnsmysql的MySQL或PHP變換行兩列動態
但是現在我必須調整自己的桌子,這是輸出
這是幾乎與上面的鏈接相同,但我包括AS_amount.anyone可以幫助我嗎?
我想要的結果,但以下用AS_month_2016 ...等在各FA_mont2016
右側這是我的代碼:
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
需要你的幫助,請。先謝謝你!
它們與我的代碼相同。 – Dhenn
我提出了你的問題,謝謝你的努力。 –