有一个BOM表的结构如下:
parent_id child_id
a b
a c
a d
a e
c f
c g
e h
h i
h j
h 6用什么语句能查出所有最底层的child_id。
parent_id child_id
a b
a c
a d
a e
c f
c g
e h
h i
h j
h 6用什么语句能查出所有最底层的child_id。
解决方案 »
- 数据库服务器经常出现CPU占用率100%的情况,联入数据库的有40多个用户,主要在运行数据量比较大的报表时出现这个现象,怎么优化报表程序都难以改善
- oracle10+3300磁盘阵列碰到的问题
- Oracle 数据库数据丢失,急
- 还有一个sql语言郁闷了好久(mysql跟oracle区别这么大呢(╰_╯)
- 在 ewebeditor中 图片上传问题
- 如果给定用户名称和 密码,怎么得到它下面的所有的表的名称?
- 请高手推荐两本oracle 方面的书!!
- 如何找回internal帐号的密码?
- recover问题,急阿
- 违反唯一约束条件(TSSH PK_SDSK_CPCODE_THS_NO)
- 请教
- 请帮忙解释一下COUNT(*) OVER (PARTITION BY)和ROW_NUMBER() OVER
,T.*
FROM (SELECT BOM.ASSEMBLY_ITEM_ID
,BIC.COMPONENT_ITEM_ID
,BOM.ORGANIZATION_ID
,BIC.COMPONENT_QUANTITY
,BOM.BILL_SEQUENCE_ID
FROM BOM_BILL_OF_MATERIALS BOM
,BOM_INVENTORY_COMPONENTS BIC
WHERE BOM.BILL_SEQUENCE_ID = BIC.BILL_SEQUENCE_ID
AND BOM.ORGANIZATION_ID = 318) T
START WITH T.ASSEMBLY_ITEM_ID = P_ITEM_ID
CONNECT BY NOCYCLE PRIOR T.COMPONENT_ITEM_ID = T.ASSEMBLY_ITEM_ID;
select a.* from BOM a
where child_id = (select min(child_id) from BOM where parent_id = a.parent_id)
order by a.parent_id
select child_id from bom t where not exists(select 1 from bom where parent_id=t.child_id);
from bom t
不错