有个表:
id pid name
1 0 A
2 0 B
3 1 C
4 1 D
5 1 E
6 2 F
7 2 J
8 3 G
现在只给出一个ID 请问如何写sql语句可以列出 此ID下的所有子集name比如给出了一个ID为1 最后的sql要实现的结果和这个一样:ID in(1,3,4,5,8) ...
请问sql语句该怎么写?????
id pid name
1 0 A
2 0 B
3 1 C
4 1 D
5 1 E
6 2 F
7 2 J
8 3 G
现在只给出一个ID 请问如何写sql语句可以列出 此ID下的所有子集name比如给出了一个ID为1 最后的sql要实现的结果和这个一样:ID in(1,3,4,5,8) ...
请问sql语句该怎么写?????
这个结贴率先有点意思
├─00101
│ ├─0010101
│ └─0010102
├─00102
└─00103
├─0010301
└─0010302表结构:
id name
001 name_001
00101 name_00101
0010101 name_0010101
00102 name_00102
.
.
00103 name_00103这样的话,查起来就容易得多,效率也高:
select *
from table1
where (id like '001%')
mysql需要自己写树状查询,oracle可以利用connect by