gpt4 book ai didi

sql - oracle嵌套选择查询

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:14 25 4
gpt4 key购买 nike

我在 oracle 数据库上有这个表:

Original table

我可以执行嵌套选择查询,将 PARENT 列更改为与其关联的名称吗?像这样:

Would like to have table

我试过:

SELECT PC.ID
,(
SELECT PC.NAME from PRODUCTS_CATEGORIES PC where PC.PARENT = PC.ID
)
,PC.NAME
FROM PRODUCTS_CATEGORIES PC

得到这个错误:

Error Message: ORA-01427: single-row sub query returns more than one row

最佳答案

你可以这样做

SELECT PC.ID,
(
SELECT DISTINCT PC2.NAME from PRODUCTS_CATEGORIES PC2
where PC.PARENT = PC2.ID AND PC2.PARENT = 0
),
PC.NAME
FROM PRODUCTS_CATEGORIES PC

 SELECT PC.ID,NVL(PC2.NAME,PC.PARENT) PC2_NAME,PC.NAME
FROM PRODUCTS_CATEGORIES PC
LEFT OUTER JOIN
(SELECT DISTINCT ID, NAME
from PRODUCTS_CATEGORIES WHERE PARENT = 0) PC2 ON PC.PARENT = PC2.ID

关于sql - oracle嵌套选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14696422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com