如何在Looker Studio中用单条GoogleSQL查询多张同结构MySQL表?
解决Looker Studio中合并多个同结构MySQL表的问题
因为Looker Studio自定义SQL仅支持单个语句,你之前的动态SQL包含多语句(SET、PREPARE、EXECUTE),所以触发限制报错。以下是两种可行方案:
方案1:手动枚举表并使用UNION ALL(适合表数量较少的场景)
直接用单条UNION ALL语句合并所有目标表,这是最符合Looker Studio要求的方式:
SELECT * FROM chat_18_4_2023 UNION ALL SELECT * FROM chat_17_4_2023 UNION ALL SELECT * FROM chat_16_4_2023 UNION ALL SELECT * FROM chat_15_4_2023 -- 继续添加所有以chat_开头的表
- 优先用
UNION ALL而非UNION,避免不必要的去重操作,提升查询效率(结构相同且无重复数据时更适用)。
方案2:创建MySQL视图(适合表数量较多的场景)
先在MySQL中创建一个视图,将所有目标表合并,再在Looker Studio中查询该视图:
- 在MySQL客户端执行以下语句创建视图(可先通过动态SQL生成视图内容,再执行创建):
CREATE VIEW all_chat_consolidated AS SELECT * FROM chat_18_4_2023 UNION ALL SELECT * FROM chat_17_4_2023 UNION ALL SELECT * FROM chat_16_4_2023 UNION ALL SELECT * FROM chat_15_4_2023 -- 补充其他chat_开头的表
- 在Looker Studio的自定义查询中直接查询视图:
SELECT * FROM all_chat_consolidated
注意:如果后续新增了chat_开头的表,需要手动更新视图的定义,否则新表数据不会被包含进来。
内容的提问来源于stack exchange,提问作者Octo
相关产品推荐
相关产品推荐

