读书人

求一存储过程 急解决思路

发布时间: 2012-01-29 21:39:32 作者: rapoo

求一存储过程 急!!!
有一个表如下
姓名 选修课程
张三 篮球/健美操
李四 足球/乒乓球
王五 篮球/乒乓球/足球
赵六 健美操/足球/篮球


要求能够查询出以下结果
选修篮球、足球等各课程学生名单表如下:
姓名 选修课程
张三 篮球
王五 篮球
赵六 篮球


姓名 选修课程
李四 足球
王五 足球
赵六 足球

并将这些表批量导入Access数据库

[解决办法]
---例子

declare @str varchar(1000)

set @str= '篮球 '
select * from 表 where charindex( '/ '+@str+ '/ ', '/ '+选修课程+ '/ ')> 0
[解决办法]
--先出查的存程
Create ProceDure SP_TEST(@选修课程 Nvarchar(20))
As
Begin
Select 姓名, @选修课程 As 选修课程 From 表 Where CharIndex(@选修课程, 选修课程) > 0
End
GO
---用
EXEC SP_TEST N '篮球 '
EXEC SP_TEST N '足球 '
GO
[解决办法]
select name, '篮球 '
from table where charindex( '篮球 ',type)> 0

select name, '足球 '
from table where charindex( '足球 ',type)> 0
[解决办法]
select 姓名, 选修课程= '篮球 ' from 表 where charindex( '篮球 ', 选修课程) > 0
select 姓名, 选修课程= '足球 ' from 表 where charindex( '足球 ', 选修课程) > 0

[解决办法]
insert into t
from
(
select 姓名, 选修课程= '篮球 ' from 表 where charindex( '/ '+ '篮球 '+ '/ ', '/ '+选修课程+ '/ ') > 0
union all
select 姓名, 选修课程= '足球 ' from 表 where charindex( '/ '+ '足球 '+ '/ ', '/ '+ 选修课程+ '/ ') > 0
)a

读书人网 >SQL Server

热点推荐