比如我有张表 里面的数据为
ID NAME U-ID
123 AA 456
456 BB 678
678 CC 0
999 DD 563
先要通过U-ID和ID匹配的 直到U-ID为0 ID 123为AA自己的ID号 U_ID345为对应的ID 然后就对应到 BB的ID了 通过BB的U_ID就得到CC了 CC CC的U-ID为0 就查询出
678 CC 0
以下是查出678 CC 0的语句:select * from TABLE1 a where not exists (select * from TABLE1 where a.[u_id]=id)但是要求提高 怎么才能在最后查询出来为U_id和id相关的所有数据 最后结果为
123 AA 456
456 BB 678
678 CC 0
请大家帮帮忙
ID NAME U-ID
123 AA 456
456 BB 678
678 CC 0
999 DD 563
先要通过U-ID和ID匹配的 直到U-ID为0 ID 123为AA自己的ID号 U_ID345为对应的ID 然后就对应到 BB的ID了 通过BB的U_ID就得到CC了 CC CC的U-ID为0 就查询出
678 CC 0
以下是查出678 CC 0的语句:select * from TABLE1 a where not exists (select * from TABLE1 where a.[u_id]=id)但是要求提高 怎么才能在最后查询出来为U_id和id相关的所有数据 最后结果为
123 AA 456
456 BB 678
678 CC 0
请大家帮帮忙
where exists (select * from TABLE1 where a.[u_id]=id)
or [U-ID]=0
-- 这样不就可以了吗? 但
-- 678,CC,0 这笔数据如何得来?
实验了一下,这个方法也可以,呵呵,不知道是什么原理select *
from TABLE1 aa
where [ID] in (select [U-ID]
from TABLE1)
or [U-ID] IN (SELECT ([ID]) FROM TABLE1)
from TABLE1
where [ID] in (select [U-ID]
from TABLE1)
or [U-ID] IN (SELECT ([ID]) FROM TABLE1)汗,其实可以不用那个aa的