SQL 语句请教

星际 2010-05-04 10:15:15
我有一张表记录的是用户选择的产品,数据类型为varchar(200),数据类似:1,2,3,4,20,21,22

这个数据对应的产品表的自增ID集合
ID Name
1 产品A
2 产品B
3 产品C

请问我如何快速遍历出某个产品被选择的次数,用like可能会出现 选择产品ID为1的,其它产品ID:11,21,31,这种会一起出来。

求大虾指教,谢谢。
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2010-05-04
  • 打赏
  • 举报
回复
select
a.name,count(1) as 次数
from
a,b
where
charindex(','+ltrim(a.id)+',',','+b.col+',')>0
group by
a.name
htl258_Tony 2010-05-04
  • 打赏
  • 举报
回复
----------------------------------------------------------------------------------
-- Author : htl258(Tony)
-- Date : 2010-05-04 10:20:37
-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
-- Jul 9 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)
-- Blog : http://blog.csdn.net/htl258
----------------------------------------------------------------------------------

--> 生成测试数据表: [ta]
IF OBJECT_ID('[ta]') IS NOT NULL
DROP TABLE [ta]
GO
CREATE TABLE [ta] ([ID] [int],[Name] [nvarchar](10))
INSERT INTO [ta]
SELECT '1','产品A' UNION ALL
SELECT '2','产品B' UNION ALL
SELECT '3','产品C'

--> 生成测试数据表: [tb]
IF OBJECT_ID('[tb]') IS NOT NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb] ([id] [int],[col] [nvarchar](20))
INSERT INTO [tb]
SELECT '1','1,2,3,4,20,21,22' UNION ALL
SELECT '2','2,3,4,5,6' UNION ALL
SELECT '3','5,6,7'

--SELECT * FROM [ta]
--SELECT * FROM [tb]

-->SQL查询如下:
select a.name 产品名称,count(1) as 遍历次数
from ta a
join tb b
on charindex(','+ltrim(a.id)+',',','+b.col+',')>0
group by a.name
/*
产品名称 遍历次数
---------- -----------
产品A 1
产品B 2
产品C 2

(3 行受影响)
*/
lovezx1028 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 htl258 的回复:]

SQL code
select a.name,count(1) as 遍历次数
from ta a
join tb b
on charindex(','+ltrim(a.id)+',',','+b.col+',')>0
group by a.name
[/Quote] 顶一个/
htl258_Tony 2010-05-04
  • 打赏
  • 举报
回复
select a.name,count(1) as  遍历次数
from ta a
join tb b
on charindex(','+ltrim(a.id)+',',','+b.col+',')>0
group by a.name

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧