gpt4 book ai didi

mysql - 在 From 子句中创建子查询以引用存档表

转载 作者:行者123 更新时间:2023-11-29 15:42:09 26 4
gpt4 key购买 nike

我正在尝试运行一个简单的 count(*) 查询来检查每天存档的表中的条目总数。但是,我需要此查询每天在我的报告功能中运行,因此它应该每天都有用。

不幸的是,当我运行查询时,它只是将其视为错误或内部没有数据的子查询。这是我的故障排除查询:

SELECT * FROM 
SELECT CONCAT('archivedtable__', REPLACE(SUBDATE(CURRENT_DATE(), 1), '-
',''));

SELECT * FROM (
SELECT CONCAT('archivedtable__', REPLACE(SUBDATE(CURRENT_DATE(), 1), '-
',''))) subquery;

第一个给出错误,第二个将仅返回 archivedtable__20190813,这是正确的名称,但实际上并没有让它引用表。

最佳答案

您可能会考虑使用 Prepared Statements 。为了给您提示,这里有一个示例:

先决条件:创建两个表,其中包含最近 2 天的日期,即昨天和前天。

SET @prefix := 'archivedtable__';

SET @date1 := REPLACE(SUBDATE(CURRENT_DATE(), 1), '-','');
SET @table1 := concat(@prefix, @date1);

SET @date2 := REPLACE(SUBDATE(CURRENT_DATE(), 2), '-','');
SET @table2 := concat(@prefix, @date2);

set @qry:= concat('SELECT COUNT(*) as t1,(SELECT COUNT(*) FROM ', @table1, ') as t2 FROM ', @table2);
prepare stmt from @qry;
execute stmt;

关于mysql - 在 From 子句中创建子查询以引用存档表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57503375/

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