gpt4 book ai didi

mysql - 为什么我的自定义 SQL 查询(在 Tableau 之外工作正常)在 Tableau 中失败?

转载 作者:行者123 更新时间:2023-11-29 03:53:52 28 4
gpt4 key购买 nike

我的以下查询在 mysql 客户端 (Heidi) 中运行良好,但在 Tableau 中出错。我看过这里和 Tableau 社区网站,我看到的唯一建议是去掉分号。我已经试过了,但没有用。我通过 Tableau 很好地连接到我的数据库 - 我可以看到表和其他查询运行没有问题。关于这里可能是什么问题的任何想法?我正在运行 Tableau 8.2。谢谢!

SET @sql=NULL;

SELECT
Group_Concat(Distinct CONCAT(
'MAX(IF(wsd.cid = ''', wc.cid, ''', wsd.data, NULL)) AS ''',wc.name,'',''''))
INTO @sql
FROM webform_component wc
WHERE wc.nid = 107;

SET @sql = Concat('SELECT wsd.sid,',@sql,'
FROM webform_submitted_data wsd
LEFT Join webform_component AS wc ON wsd.cid=wc.cid
WHERE wsd.nid = 107 AND wsd.sid >= 14967
GROUP BY wsd.sid');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

最佳答案

事实证明,Tableau SQL 在连接到 mySQL 数据库时不支持这种类型的查询。我收到的建议是尝试将其重新格式化为嵌套子查询。

这是我在询问是否可以使用上述查询时从 Tableau 的项目经理那里得到的答案:

“你不能。它应该是返回结果集的单个查询。Tableau 会将自定义 SQL 查询包装为子查询。如果您的 SQL 不能以这种方式处理,您将收到错误。

我们在支持“初始 SQL”的数据源上支持这种结构。例如 Teradata、Aster...

它允许您预先运行任何 SQL、创建临时表等,因此称为初始 SQL。

然后您可以编写一个查询作为连接的一部分,它将在“初始 SQL”之后进行评估,并利用在初始 SQL 步骤中创建的对象。”

关于mysql - 为什么我的自定义 SQL 查询(在 Tableau 之外工作正常)在 Tableau 中失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29311251/

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