gpt4 book ai didi

mysql - 加入动态sql

转载 作者:行者123 更新时间:2023-11-30 23:19:39 24 4
gpt4 key购买 nike

我有以下按预期工作的动态 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;

最佳答案

您能否简单地将其余的查询放在串联中?

...
/* Your existing code */
SET @sql
= CONCAT('SELECT account_id, ', @sql, '
from yt
group by account_id');

/* Now put your derived table stuff in */
SET @sql
= CONCAT('select a.account_id, b.something_else
from some_table as b join (', @sql, ') as a
on a.account_id = b.account_id');

/* Continue your existing code */
PREPARE stmt FROM @sql;
...

关于mysql - 加入动态sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16066099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com