【发布时间】:2014-08-21 19:36:02
【问题描述】:
我有一个如下结构的表
父 ID 号、子 ID 号、地址 varchar2(100)
我想编写一个 SQL,通过在地址字段上搜索来提取所有记录。
唯一的变化是,如果 {child} 中的一个与 {address} 条件匹配,我想要 {parent id} 组合的所有记录。
我知道我们会这样编码,
SELECT parent_id, child_id, address
FROM mytable t
WHERE EXISTS
(SELECT 1
FROM mytable t2
WHERE t.parent_id = t2.parent_id
AND address LIKE :p_search_criteria);
但是还有比这更好的解决方案吗?关键是我们正在检索的同一个表中搜索......
这是 Oracle 数据库 10g 企业版版本 10.2.0.4.0 - 64 位
【问题讨论】: