--基础表1 CREATE TABLE #t1(id INT,NAME VARCHAR(50)) INSERT INTO #t1 SELECT 1,'低级' UNION SELECT 2,'中级' UNION SELECT 3,'高级' CREATE TABLE #t2(NAME VARCHAR(50),title VARCHAR(50)) --基础表2 INSERT INTO #t2 SELECT 'z','1,2' UNION SELECT 'w','2,3' UNION SELECT 'a','1,2,3' UNION SELECT 'b','1,2,3' --出结果 SELECT #t1.name,COUNT(#t2.NAME) FROM #t1 LEFT join #t2 ON ','+#t2.title+',' LIKE '%,'+CONVERT(VARCHAR(50),#t1.id)+',%' group BY #t1.NAME
谢谢 就是这个意思
@cnns: 这个效率不怎么高,呵呵~你看着用吧。
证书表与人员表 多设计一张关联表 好点吧
证书表和人员表就是关联的 添加人员的时候 证书是多选 以逗号隔开插入进去的 人员表的TechincalTitle就是关联字段
@cnns: 如果按照这样的思路的话,可以考虑是用Contain关键字
@cnns: 这是逻辑上的关联,实际上在表的设计上 没有体现出来
这样设计不是很合理的.最好是再添加第三张表,专门存储证书和人员的关联.是个一对多的关系