我目前的代码大致如下:
SELECT num
FROM (
SELECT ... Code that returns the table I would expect ...
) table_name
WHERE num > (SELECT AVG(num) FROM table_name);
目前查询会出现错误:ERROR:关系“table_name”不存在。
为什么会发生这种情况呢?
正如我在代码中所说的那样,我可以从大括号内复制 select 语句:
SELECT ... Code that returns the table I would expect ...
它将返回一个表格,其中包含我期望的并且包含名为“num”的列。
另外,当我给一个表格命名时(在这种情况下是table_name),在SQL中它被称为什么?像我在标题中所称的那样是临时表吗?不知道它被称为什么,很难搜索到解决方案。
谢谢, 卡梅伦
table_name
在这里是可用的。 - Craig Ringer