首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个Sql Server的有关问题

2012-10-26 
请教一个Sql Server的问题问题描述:现有两张表:Base表和History表Base表:IdName1a2b3c4dHistory表:His_IdH

请教一个Sql Server的问题
问题描述:
现有两张表:Base表和History表
Base表:
Id Name
1 a
2 b
3 c
4 d

History表:
His_Id His_Name
501 a
502 a,b
505 a,b,c
699 a,b,c,d

请问一下如何写出符合“History表中任意一条记录的His_Name字段是否完整包含Base中所有记录Name字段组成的字符串”的Sql,即如何实现查询出来的结果是History表中的最后一条记录?


[解决办法]
select top 1 * from History a
 order by (select count(*) from Base 
where charindex(','+Name+',',','+a.His_Name+',')>0) desc
[解决办法]
select * from History
where len(His_Name)-len(replace(His_Name,',','')+1=(select count(*) from base)

[解决办法]
select * from History where His_Name = select [name]+',' from Base for xml path('')

热点排行