数据查询包含问题求教

mysoho 2004-05-07 02:12:56
比如数据库中有记录:

name parentstr

张三 0,22
李四 0,22
王五 0,23,25
赵六 0,21
孙七 0,22

我只有一个字串“0,22,34,36”作为条件, 如何把所有“0,22”的记录查出来。
...全文
12 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhuq 2004-05-07
你可以用模糊查询
  • 打赏
  • 举报
回复
Miriamy 2004-05-07
我就是读了一遍数据库
有符合的就存入findID中

dim PStr,Str,Fin,FindID,Cid

Str="0,22,35,43"
sql="select * form table"
rs.open sql,conn,1,3

for i=1 to rs.recordcount

CiD=rs("ChannelID")
PStr=rs("ParentStr")
Fin=Instr(1,Str,PStr)

if Fin > 0 then
FindID=Cid
FindID1=FindID1&","&FindID
end if

rs.movenext
next

response.write FindID1

Sql="select * from table where ChannelID in ("&FindID1&")"
  • 打赏
  • 举报
回复
Miriamy 2004-05-07
上面的有点错误
自已改一下吧
  • 打赏
  • 举报
回复
Miriamy 2004-05-07
dim PStr,Str,Fin,FindID

Str="0,22,35,43"
sql="select * form table"
rs.open sql,conn,1,3

for i=1 to rs.recordcount
PStr=rs("ParentStr")
Fin=Instr(1,Str,PStr)

if Fin<>0 then

FindID=rs("ChannelID")

FindID=FindID&","&rs("ChannelID")

end if
rs.movenext
next

response.write FindID

Sql="select * from table where ChannelID in ("&FindID&")"
  • 打赏
  • 举报
回复
mysoho 2004-05-07
还有人知道吗?谢谢。
  • 打赏
  • 举报
回复
mysoho 2004-05-07
谢谢 stayhere(且留连) 的答复,

但是作为查询条件的字传是变动的,我不能确定可以split成数组的上标,这个查询条件是动态得到的,可能是0,22,35,43 也可能是0,22,35也可能是0,22。然后我要从数据库中取出所有parentstr包含在该字传中的记录。
  • 打赏
  • 举报
回复
mysoho 2004-05-07
是我没说清楚吗?再说一下,
比如数据库中是这样的:
id ChannelID BoardType ParentID ParentStr
31 4 以太网 0 0
32 4 1394 0 0
33 4 801.11b 0 0
34 4 801.11g 0 0
35 4 ATMEL 22 0,22
36 4 Dallas 22 0,22,32
37 4 INTEL 22 0,22
38 4 LG 22 0,22
39 4 Motorola 22 0,21,24
40 4 Philips 22 0,22
41 4 Winbond 22 0,22
42 4 51系列 35 0,22,35
43 4 AVR系列 35 0,22,35

现在有个记录xxx的parentstr是:0,22,35,43 我想得到数据库中parentstr被包含在xxx的parentstr的所有,如parentstr是:0/0,22/0,22,35/这样的记录符合条件,但0,22,31或0,21,24就不符合条件。

请问我如何写查询语句呢?
  • 打赏
  • 举报
回复
stayhere 2004-05-07
不知道你的意思是把所有包含还等于"0,22"或"0,22,34"
strArr=split("0,22,34,36",",")
等于:
sql="select * from tbl where parentstr='" & strArr(0) & "," & strArr(1) & "'"
sql=sql & " or parentstr='" & strArr(0) & "," & strArr(1) & "," & strArr(2) "'"
包含:

sql="select * from tbl where parentstr liek '%" & strArr(0) & "," & strArr(1) & "%'"
sql=sql & " or parentstr liek '%" & strArr(0) & "," & strArr(1) & "," & strArr(2) "%'"
  • 打赏
  • 举报
回复
gu1dai 2004-05-07
不知道你什么意思
  • 打赏
  • 举报
回复
gu1dai 2004-05-07
wo ye我也不知道
  • 打赏
  • 举报
回复
mysoho 2004-05-07
补充,比如数据库中有记录:

name parentstr

刘二 0,22,34
张三 0,22,24
李四 0,22
王五 0,23,25
赵六 0,21
孙七 0,22

我只有一个字串“0,22,34,36”作为条件, 如何把所有“0,22”或“0,22,34”的记录查出来。也就是如何取出数据库中parentstr字段的内容被包含于查询条件字串的记录。
  • 打赏
  • 举报
回复
相关推荐
发帖
ASP
加入

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-05-07 02:12
社区公告
暂无公告