gpt4 book ai didi

mysql - 一个查询表的结果是另一个查询表的名称,并产生多个 csv 输出文件

转载 作者:行者123 更新时间:2023-11-29 17:20:28 24 4
gpt4 key购买 nike

我试图更快地完成一项任务,但我有两个问题(希望可以包含在一个问题中,因为这两个问题都会出现在一个查询中)。

我想使用一个 SQL 查询的结果(有多个 id)作为另一个查询的表名称(FROM ...?)。

然后,最终结果(对于每个表)应该写入多个 .csv OUTFILE,而不是我目前的一个。

我准备好了两个查询,但我认为这对于这个问题并不重要,这就是我跳过发布任何内容的原因。

您可以给我一个最简单的 SELECT 查询的示例。

最佳答案

您可以使用服务器端准备好的语句:

https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html

这是一个希望有帮助的示例:

select @q:=concat("select count(*) from ", tbl_name) 
from my_db.my_tables where table_id = 3;
prepare s from @q;
execute s;

执行结果select count(*) from无论 tbl_name 的值是多少位于my_db.my_tables对于table_id等于 3。

要将结果导出到 CSV,您可以执行以下操作:

select @q:=concat("select count(*) from ", tbl_name, 
" into outfile '/tmp/data.csv' fields terminated by ','")
from my_db.my_tables where table_id = 3;

了解更多关于 SELECT ... INTO OUTFILE :

https://dev.mysql.com/doc/refman/5.7/en/select-into.html

关于mysql - 一个查询表的结果是另一个查询表的名称,并产生多个 csv 输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51274796/

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