【发布时间】:2013-06-20 00:53:42
【问题描述】:
我有一个这样的查询:
SELECT * FROM (SELECT linktable FROM adm_linkedfields WHERE name = 'company') as cbo WHERE group='BEST'
基本上,主查询的表名是通过子查询获取的。
我收到一个错误,#1054 - Unknown column 'group' in 'where clause'
当我调查时(去掉 where 子句),我发现查询始终只返回子查询结果。
子查询表adm_linkedfields具有结构id | name | linktable
目前正在使用带有 PDO 的 MySQL,但查询应该与主要数据库兼容(即 Oracle、MSSQL、PgSQL 和 MySQL)
更新:
子查询应返回主查询的表名。在这种情况下,它将返回tbl_company
主查询的表tbl_company 具有以下结构:
id | name | group
提前致谢。
【问题讨论】:
-
查看我的答案以了解错误原因。顺便说一句,“组”列的来源......它不在您的表定义中?它是 DT 而不是 SubQ。
-
为什么要投反对票?如果有给出的理由,请欣赏。
-
@user2407394 他在 WHERE 子句中调用“组”列,但子查询只返回一个名为链接表的列。
-
@jakub:这是“DT”而不是 subQ。他在我发表评论后更新了这个问题。。@Ravi:感谢更新。现在我明白你想做什么了。我倾向于同意 Jakub 的回答。 -1 是因为缺乏细节。删除它。
标签: mysql sql sql-server oracle postgresql