こんにちは私はこのようなテーブルを持っています
dt ticker open
1 A 1
1 B 3
2 A 1.1
2 B 2.5
結果は次のようになります
dt A B
1 1 3
2 1.1 2.5
私が以下に含めた私の現在のクエリは私を取得します
dt A B
1 1 NULL
1 NULL 3
2 1.1 NULL
2 NULL 2.5
誰かが私を助けることができればそれは非常にありがたいです
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'(IF(ticker = ''',
ticker,
''', open, NULL)) AS ''',
ticker,''''
)
) INTO @sql
FROM
prices;
SET @sql = CONCAT('SELECT dt, ', @sql, ' FROM prices');
-- SET @sql = CONCAT('SELECT dt, ', @sql, ' FROM prices GROUP BY dt');
PREPARE stmt FROM @sql;
EXECUTE stmt;