首页 新闻 搜索 专区 学院

sqlserver里查询某个字段的值(使用,分隔)里是否有重复ID问题

0
悬赏园豆:15 [已解决问题] 解决于 2018-10-29 17:13
sqlserver 
表 id (bigint) upIdList(nvarchar)

行: 1 2,3,4
2 2,3,2
问题补充:

求查询其中upIdList有重复id的纪录,比如目前第二行就是有重复的

其实就是要把upIdList拆分,看里面的逗号分隔的ID是否有重复的

有十几万数据量。。。

心雨纷扬的主页 心雨纷扬 | 菜鸟二级 | 园豆:309
提问于:2017-01-13 13:27
< >
分享
最佳答案
0

http://www.cnblogs.com/aierong/archive/2008/11/19/sqlserver_split.html 

收获园豆:12
Merger | 菜鸟二级 |园豆:225 | 2017-04-12 09:55

如果要全部查出来效率很低,最好事重新构建一下表结构。

只能去遍历十几万条数据出来。

或者你知道哪几个id有重复的,用select len(upIdList)-len(replace(upIdList, @替换字符, @替换字符+'-')) 如果大于等于2就表示有多个。这样也能直接查出来,重复id小效率就高一点

 

 

Merger | 园豆:225 (菜鸟二级) | 2017-04-27 14:00
其他回答(2)
0

select id AS 编号,[dishesName] AS 菜名
from [dbo].[CB_Dishes]
where [dishesName] in (select [dishesName] from [dbo].[CB_Dishes] group by [dishesName] having count(1) >= 2)

大师兄丶 | 园豆:841 (小虾三级) | 2017-01-13 16:50

你的答案和我的题目有半毛钱关系么?

支持(0) 反对(0) 心雨纷扬 | 园豆:309 (菜鸟二级) | 2017-01-13 17:02
0

自己写个函数呗,数据量不大的话,写函数,拆开判断吧,数据量大我也想问个答案

收获园豆:3
_Vegetables | 园豆:569 (小虾三级) | 2017-01-14 23:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册