有一个表如下
姓名 选修课程
张三 篮球/健美操
李四 足球/乒乓球
王五 篮球/乒乓球/足球
赵六 健美操/足球/篮球
要求能够查询出以下结果
选修篮球、足球等各课程学生名单表如下:
姓名 选修课程
张三 篮球
王五 篮球
赵六 篮球
姓名 选修课程
李四 足球
王五 足球
赵六 足球并将这些表批量导入Access数据库
姓名 选修课程
张三 篮球/健美操
李四 足球/乒乓球
王五 篮球/乒乓球/足球
赵六 健美操/足球/篮球
要求能够查询出以下结果
选修篮球、足球等各课程学生名单表如下:
姓名 选修课程
张三 篮球
王五 篮球
赵六 篮球
姓名 选修课程
李四 足球
王五 足球
赵六 足球并将这些表批量导入Access数据库
from table where charindex('篮球',type)>0select name,'足球'
from table where charindex('足球',type)>0
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
from table where charindex('/'+'篮球'+'/','/'+type+'/')>0select name,'足球'
from table where charindex('/'+'足球'+'/','/'+type+'/')>0
FROM
(select name,'篮球'
from table where charindex('/'+'篮球'+'/','/'+type+'/')>0
UNION ALL
select name,'足球'
from table where charindex('/'+'足球'+'/','/'+type+'/')>0
)A
--以下代碼測試OK --創建測試環境
Create Table 表
(姓名 Nvarchar(20),
选修课程 Nvarchar(200))
--插入數據
Insert 表 Select N'张三', N'篮球/健美操'
Union All Select N'李四', N'足球/乒乓球'
Union All Select N'王五', N'篮球/乒乓球/足球'
Union All Select N'赵六', N'健美操/足球/篮球'
GO
--創建存儲過程
Create ProceDure SP_TEST(@选修课程 Nvarchar(20))
As
Begin
Insert Into OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'D:\表.mdb' ; 'admin'; '', 表)
Select 姓名, @选修课程 As 选修课程 From TEST.dbo.表
Where CharIndex(@选修课程, 选修课程) > 0
End
GO
--測試
EXEC SP_TEST N'篮球'
EXEC SP_TEST N'足球'
GO
--刪除測試環境
Drop Table 表
Drop ProceDure SP_TEST