首页 新闻 会员 周边

数据库集合关联查找

0
悬赏园豆:15 [待解决问题]

先来一张表

ID myID
1 2,3,5,8
2 3
3 13,32,50
4 35,20

想通过ID=2 的 3 查找出 ID=1 的这个结果,因为 MyID=3 属于ID=1的MyID 里面的
怎么查找呢

SQL
DNLi的主页 DNLi | 菜鸟二级 | 园豆:316
提问于:2019-05-31 09:14
< >
分享
所有回答(4)
0

应该可以用一个子查询实现

程序员修炼之旅 | 园豆:776 (小虾三级) | 2019-05-31 09:23
0

select * from test te where FIND_IN_SET((select myid from test where id='2'),te.myid) and id<>'2'; 看能不能给你提供一种思路。

画笔灬 | 园豆:920 (小虾三级) | 2019-05-31 09:26
0

子查询:

select ID from myTable where myID in(select myID from myTable where ID = 2)
三人乐乐 | 园豆:4819 (老鸟四级) | 2019-05-31 10:57
0

SELECT *
FROM #temp t
WHERE not EXISTS
(
SELECT *
FROM
(
SELECT ',' + item + ',' AS item
FROM dbo.f_split(
(
SELECT TOP 1 myid FROM #temp WHERE id = 2
),
','
)
) a
WHERE CHARINDEX(a.item, ',' + t.myid + ',') <= 0
)
AND id !=2

Script丶 | 园豆:170 (初学一级) | 2020-07-20 17:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册