意図したとおりに機能する次の動的SQLクエリがあります。しかし今、account_id に対する別のクエリの結果と結果を結合したいと考えています。クエリを派生テーブルにしてから結合するという通常の方法を試しましたが、これは機能しません (すべてのセミコロンに関係していると思います)。動的 SQL クエリを別のクエリと結合する特別な方法はありますか?
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'sum(CASE WHEN phone_name = ''',
phone_name,
''' THEN 1 else 0 END) AS `',
phone_name, '`'
)
) INTO @sql
FROM yt;
SET @sql
= CONCAT('SELECT account_id, ', @sql, '
from yt
group by account_id');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;