您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL嵌套子查询引用祖父母列

SQL嵌套子查询引用祖父母列

这是Oracle sql一个局限性:您不能从子查询中引用超过1级的父查询元素。

在这种情况下,我将使用一个函数

CREATE OR REPLACE FUNCTION get_title(p_position_id NUMBER) RETURN VARCHAR2 IS
   l_result       LONG;
   l_position_num NUMBER := 0;
BEGIN
   FOR cc IN (SELECT position_title
                FROM position_table
               WHERE position_table.position_id = p_position_id
                 AND rownum <= 3) LOOP
      l_result       := cc.position_title || ',';
      l_position_num := l_position_num + 1;
   END LOOP;
   RETURN l_result || rpad(',', 3 - l_position_num, ',');
END;

您的查询将如下所示:

select
  name,
  phone,
  address,
  get_title(p.position_id) title
from person_view p
SQLServer 2022/1/1 18:30:29 有244人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶