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

求一SQL语句,多个字符串被包含的有关问题

2013-02-20 
求一SQL语句,多个字符串被包含的问题。有一产品表,有一列是索引关键字,如果有多个词用|分隔:如别克|奔驰|宝

求一SQL语句,多个字符串被包含的问题。
有一产品表,有一列是索引关键字,如果有多个词用|分隔:
如别克|奔驰|宝马

目前要写一个查询,给定某个查询词,对索引关键字进行匹配。比如给定的词是:新宝马汽车,想要查询索引关键字被查询词包含。。。如果索引词是单个,用charindex()就可以了,多个怎么写?谢谢。
[解决办法]

USE test
go


-->生成表A

if object_id('A') is not null 
drop table A
Go
Create table A([ID] smallint,[ProdName] nvarchar(8))
Insert into A
Select N'1',N'宝马'
Union all Select N'2',N'宝马、奔驰、吉利'
Union all Select N'3',N'奥迪、奔腾'
Union all Select N'4',N'雪铁龙'

-->生成表B

if object_id('B') is not null 
drop table B
Go
Create table B([ID] smallint,[ProdName2] nvarchar(2))
Insert into B
Select N'1',N'宝马'
Union all Select N'2',N'奔驰'
Union all Select N'3',N'宝马'
Union all Select N'4',N'吉利'


SELECT * FROM A
WHERE NOT EXISTS(SELECT 1 FROM B AS x WHERE CHARINDEX(x.ProdName2,a.ProdName)>0)

/*
ID     ProdName
------ --------
3      奥迪、奔腾
4      雪铁龙
*/

热点排行