我有一些数据的形式( l; Y, m8 {) Y0 P# p* d' u
Key ID Link # L m2 g4 V- ^, K1 G2 P0 s7 w5 U1 \
1 MASTER 123 7 ^+ b' E$ r8 P: [$ `8 {2 AA 123 " l0 z# M6 c( H' G- w' O8 v1 x3 AA 123+ F3 p# E/ w8 J [% x* I
4 BB 123 0 c; T. u: E5 V( w0 x, y5 U5 MASTER 4566 k! D. _. p0 F
6 CC 456* v. o5 e/ h! Y* u$ K b
我希望能够在同一选择中选择所有符合选择标准的链接项目,再加上链接的主文件。例如,如果我的ID为“ AA”,则希望返回ID =“ AA”的行,以及ID为“( H0 S) \$ _5 Y E$ o) f% y
MASTER”和链接123的行:$ n1 r2 J- i. S
1 MASTER 123+ S7 T N; o, @% M
2 AA 1232 F' ~. v2 m# `! o, E e: o- j$ B
3 AA 123& [. o6 G; }6 }' \% I, t
我使用的是Oracle 10.2g,因此,如果有任何特殊的Oracle语法可以简化此操作,那么就可以了。# L$ W6 b# U+ j5 e
4 Y3 q+ [/ _' H+ s( \' b# _3 p 解决方案: 0 R- `( m9 B$ J . Q. q* Y" I6 W, _7 _0 F Q' ~6 T' s L* v2 `- Z5 j- _7 B& A1 `7 g
这是一种方法。 $ M+ ?4 p7 I8 E- fSELECT DISTINCT key, id, link0 R& P8 C0 ^: C3 Z
FROM the_table* Q. |8 F5 z& H, V
START WITH id = 'AA' ; `, h& l _& |' f/ ] CONNECT BY id = 'MASTER' and link = PRIOR link and 'AA' = PRIOR ID