當前位置:編程學習大全網 - 網站源碼 - ASP+SQL2000多條件模糊查詢

ASP+SQL2000多條件模糊查詢

LZ 像這種表不滿足第壹範式 字段多值

有種做法叫 拆分元素

也就是 多值字段轉成多行,那麽就很好處理了

按妳的數據 下面是語句 希望對妳有幫助

這裏也借助壹張數字表 來取得 XX字段','的位置

--創建測試表

CREATE TABLE Test

(

Id int primary key identity(1,1),

title int,

xx varchar(2000),

)

--插入數據

INSERT INTO Test

SELECT 22,'12,23,44,55'

UNION ALL SELECT 22,'122,13,44,55'

UNION ALL SELECT 22,'12,22,43,51'

UNION ALL SELECT 22,'1,13,44,55'

UNION ALL SELECT 22,'12,23,24,25'

UNION ALL SELECT 22,'12,33,44,55'

UNION ALL SELECT 22,'2,3,44,55'

UNION ALL SELECT 22,'23,1,2,3'

--建個數字輔助表

CREATE TABLE Nums

(

NumID int primary key

)

--插入數據

DECLARE @InitNum int

SET @InitNum =1

WHILE @InitNum<=100

BEGIN

INSERT INTO Nums

SELECT @InitNum

SET @InitNum=@InitNum+1

END

--開始查詢--mssql的SUBSTRING開始索引是從1開始的

SELECT id,title,xx,numid,SUBSTRING( xx ,numid,CHARINDEX(',',xx+',',numid)-numid )AS '單獨元素'

FROM Test JOIN Nums

ON NumID <= LEN(xx)

AND SUBSTRING(','+xx,NumID,1)=','

  • 上一篇:高分求部電影名字 隱約記得情節
  • 下一篇:婁底到益陽有多少公裏
  • copyright 2024編程學習大全網