我有一些表格
的数据Key ID Link
1 MASTER 123
2 AA 123
3 AA 123
4 BB 123
5 MASTER 456
6 CC 456
我希望能够在同一个选择中选择符合选择条件的所有链接项目以及链接主文件。例如,如果我的ID为'AA',我希望返回ID ='AA'的行,加上ID ='MASTER'的行和123的链接:
1 MASTER 123
2 AA 123
3 AA 123
我正在使用Oracle 10.2g,因此如果任何特殊的Oracle语法会使这更容易,那就没关系。
答案 0 :(得分:4)
这是一种方法。
SELECT DISTINCT key, id, link
FROM the_table
START WITH id = 'AA'
CONNECT BY id = 'MASTER' and link = PRIOR link and 'AA' = PRIOR ID
答案 1 :(得分:0)
SELECT * FROM table_name WHERE ID = your_id UNION ALL SELECT * FROM table_name WHERE ID ='MASTER'AND link =(SELECT link FROM table_name WHERE ID = your_id)
这应该回答我理解的问题;)
答案 2 :(得分:0)
如果我理解正确,这里有一个例子,我认为你正在寻找的是什么:
select * from my_table where link in
(select link
from my_table
where id = 'AA')
and id in ('AA','MASTER')
答案 3 :(得分:0)
我所理解的是,你所拥有的所有记录与id = AA的记录具有相同的“链接” 你需要链接字段:
select i.link from table i
where i.id = YOUR_ID
现在您“选择”具有该链接的记录
select * from table
where link in (select i.link from table i where i.id = YOUR_ID)
此选择应该为您提供所需的记录......