gpt4 book ai didi

mysql - 查询错误 'Count' 中的未知列 'field list'

转载 作者:行者123 更新时间:2023-11-29 00:07:30 26 4
gpt4 key购买 nike

我正在尝试对表名称中包含 house 的所有表中的 picks 列求和。

SELECT SUM(Picks) AS A 
FROM (SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_NAME LIKE '%house' AND
table_schema='myschema'
) AS T

此 SQL 语句产生消息

Unknown column 'Picks' in 'field list'

如果我只查询:

SELECT TABLE_NAME 
FROM information_schema.TABLES
WHERE TABLE_NAME LIKE '%house' AND
table_schema='myschema'

它返回预期的表列表。我已验证每个返回的表都有一个计数列,并且所有数据类型都相同 VARCHAR(45)

我错过了什么?

最佳答案

这是您的查询:

SELECT SUM(Picks) AS A 
FROM (SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_NAME LIKE '%house' AND
table_schema='myschema'
) AS T

您缺少的是子查询没有名为 Picks 的列。我的意思是,以下将起作用:

SELECT SUM(Picks) AS A 
FROM (SELECT TABLE_NAME, 1 as Picks
FROM information_schema.TABLES
WHERE TABLE_NAME LIKE '%house' AND
table_schema='myschema'
) AS T

或者这个:

SELECT COUNT(*) as Picks
FROM (SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_NAME LIKE '%house' AND
table_schema='myschema'
) AS T

但在您的查询中,Picks 未定义。因此错误。

而且,information_schema.tables 中也没有这样的列。这使我认为你很困惑。也许该列存在于“house”表中。但是,您不能那样引用表格。如果您真的想动态地将表名放入查询中,您可能需要研究准备好的语句——prepare/execute(请参阅 here)。

关于mysql - 查询错误 'Count' 中的未知列 'field list',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26855260/

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