对不起,我试着找答案,但我没有找到。我的查询中有太多的(!) ARNT as parentARTNR和POSNR as parentPOSNR。我试过CONNECT_BY_ROOT,但这只是顶级ARTNR和POSNR。比我尝试的SYS_CONNECT_BY_PATH(t1.ARTNR, '/') as parentARTNR,但它返回所有的树。
你知道我该怎么做吗?
这个SQL运行良好,但它没有父值。
SELECT
level,
t1.ARTNR,
t1.POSNR
FROM
SMSTLPOS t1
START WITH
t1.A
我有以下按优先连接的SQL,它基本上从叶节点开始,并沿着树向上工作到父" tree -trunc“(第1级):
with my_tree as (
select 'level 4.1' node, 'level 3.1' parent_node from dual union
select 'level 4.2' node, 'level 3.2' parent_node from dual union
select 'level 3.1' node, 'level 2'
有路线图(互联城市清单):
drop table aaa;
create table aaa(a varchar2(10), b varchar2(10));
insert into aaa values ('Rome','Berlin');
insert into aaa values ('London','Rome');
insert into aaa values ('London','New-York');
insert into aaa values ('New-York
我想列出我的管理人员名单。请看下面的查询:
SELECT SYS_CONNECT_BY_PATH (username, ':') AS "Liste Membres",LEVEL
FROM employees
WHERE CONNECT_BY_ISLEAF = 1
AND username = '150') -- My_code
START WITH manager IS NULL
CONNECT BY PRIOR username = manager
此查询的结果是:
:1:20:120:150
我
SELECT deptno,
LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees
FROM emp
GROUP BY deptno;
错误:- ORA-00923: FROM关键字找不到预期的00923。00000 -“从预期中找不到的关键字”*原因:
*行动:行错误:1栏: 42
Oracle数据库11g企业版发布11.1.0.7.0-64位生产
我需要根据Informix中的id连接同一字段中的字符串。我意识到这在MSSQL中很容易做到。
下面是我当前表格的一个示例:
id | doc_num | page_num | description
-------------------------------------------------
1 | 1 | 1 | This is the story about
1 | 1 | 2 | a girl named Daisy.
1 | 2 | 1 | Daisy had a dog named
1
这一问题已在堆栈溢出和其他地方提出:
但是,我想在10中进行报告查询。
有谁对这些细节有洞察力?
一个简单的检查:
with t1 (parent, child) as
(select * from all_lists t where t.al_father_id = '2') select * from t1
QC报告“质量中心无法运行查询,因为它包含无效的语句”。
而使用以下有意的错误
select * from all_lists t wher t.al_father_id = '2'
QC报告“SQL查询.运行失败,有以下错误:失
我使用的是递归sql,我有这样的查询
SELECT REVERSE(SYS_CONNECT_BY_PATH(REVERSE(name), '\')) as Path,parentfolderid
FROM FOLDER_Table
START WITH FOLDERID=12345 CONNECT by PRIOR PARENTFOLDERID=FOLDERID
如何在select属性中显示我在folderId中给出的FOLDERID=12345?如果我运行下面的查询
SELECT REVERSE(SYS_CONNECT_BY_PATH(REVERSE(name),
我有一个名为Constants的表,其中有一个名为"constant_value“的列,我想从这一行开始,通过",”标记一个字符串,以便在in子句中使用。
我如何在oracle查询中做到这一点?
我发现我可以使用下面的查询,但它没有返回所需的数据。我在这里做错了什么?
select regexp_substr(c.constant_value,'[^,]+', 1, level)
from connstants c where c.name='RELAX'
connect by regexp_substr(c.constant_value,
当我从数据库中获取记录时,我得到了ORA-01489: result of string concatenation is too long。 我在表中有更多的行。 请在下面找到我的问题。 SELECT MAX(LTRIM(sys_connect_by_path(TO_CHAR(rn)
||'.'
||MESSAGE,'~'),'~')) MESSAGE
FROM
(SELECT tif,
MESSAGE,
ROWNUM rn
FROM BULL_MESS msg,
BULL_MAPPIN
递归地,首先插入父级,然后插入子级。如何使用父-子迁移Oracle中的逻辑??SQL的逻辑应该是:首先计算父逻辑,然后插入或添加父逻辑,然后检查子逻辑,然后进行准备。
感谢您的响应,表结构如下所示
REF_ID NOT NULL NUMBER
REF_TYPE_ID NOT NULL NUMBER
PARENT_REF_ID NUMBER
REF_VALUE NOT NULL VARCHAR2(255)
现在,预期的结果条件:我们需要开始用ref_id查找查询,所以如果ref_id应该是14,那么我们
我有一个包含connect by prior的查询;
SELECT SYS_CONNECT_BY_PATH(ENAME, '/') as path
FROM EMP
WHERE CONNECT_BY_ISLEAF=1
START WITH MGR IS NULL CONNECT BY
PRIOR EMPNO=MGR;
结果如下所示
path
-----------------------------------
/KING/JONES/SCOTT/ADAMS
/KING/BLAKE/ALLEN
/KING/BLAKE/WARD
/KING/BLAKE/MARTIN
/KING