Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在子查询postgresql中使用父别名_Postgresql - Fatal编程技术网

在子查询postgresql中使用父别名

在子查询postgresql中使用父别名,postgresql,Postgresql,我想在子查询中使用别名,但子查询中似乎无法识别别名 SELECT M.name, (select code from menus where menus.id = M.parent_id) as parent_code FROM menus as M; 我如何做到这一点 我以前使用oracle,这个查询很有效。试试这个 SELECT m.name FROM menus as m WHERE m.parent_id in ( select

我想在子查询中使用别名,但子查询中似乎无法识别别名

SELECT M.name, (select code from menus where menus.id = M.parent_id) as parent_code
    FROM menus as M;
我如何做到这一点

我以前使用oracle,这个查询很有效。

试试这个

SELECT m.name
FROM menus as m
WHERE m.parent_id in (
                        select m1.parent_id 
                       from menus as m1 
                       where m.parent_id = m1.parent_id
                      );

这是完全不同的。语法是正确的,可以在Postgres中使用。请看这个在线示例:什么不适合你?您得到的确切错误消息是什么(您的问题,请勿在评论中发布代码或附加信息)。