sql="select * from 数据表 where 变量 in(字段名)"
各位高手,字段名里是类别(字符型),如第一条记录是1,2,3,4第二条记录是2,3第三条记录是1第四条记录是1,3我想用把它分类显示出来,如果变量是"1",那就显示字段名...
各位高手,
字段名里是类别(字符型),
如第一条记录是1,2,3,4
第二条记录是2,3
第三条记录是1
第四条记录是1,3
我想用把它分类显示出来,如果 变量是"1",那就显示字段名有"1"的第1条、第3条和第4条记录
可是我用sql="select * from 数据表 where 变量 in(字段名)"
如
a1="1"
sql="select * from 数据表 where '"&a1&"' in(字段名)"
只显示第三条记录! 展开
字段名里是类别(字符型),
如第一条记录是1,2,3,4
第二条记录是2,3
第三条记录是1
第四条记录是1,3
我想用把它分类显示出来,如果 变量是"1",那就显示字段名有"1"的第1条、第3条和第4条记录
可是我用sql="select * from 数据表 where 变量 in(字段名)"
如
a1="1"
sql="select * from 数据表 where '"&a1&"' in(字段名)"
只显示第三条记录! 展开
5个回答
展开全部
方法1
这个需要些存储过程来实现
大致的思路是这样的
1 遍历表的列名
2 将数据存入零时表1中
3 按照查出来的列名循环从零时表中查询这列中是不是有你要的那个数据,有的话,这条数据保留
4 查出的数据存入零时表2中,并且从零时表1中删除
5 零时表2中的内容就是你所要的所有数据
每一步关键点说明
1 遍历的话给一个小例子
select name from syscolumns where id = object_id(’表名’)
2 略。
3 需要开游标(这个网上很多)
ps:如果字段比较少的话,你可以不用写循环,直接罗列就可以了
4 就是3的insert操作变成delete
5 得到结果
方法2
据例子说明
如第一条记录是1,2,3,4
第二条记录是2,3
第三条记录是1
第四条记录是1,3
给每条记录上一个识别字
建立一个零时表2个字段 sysid columvalues
将每列的值和这列的识别字分别插入
内容如
r1 1
r1 2
r1 3
r1 4
r2 2
r2 3
r3 1
r4 1
r4 3
然后查询这个表获得内容columvalues是1的行识别字(distict一下)
然后。。应该很清楚了八:)
这个需要些存储过程来实现
大致的思路是这样的
1 遍历表的列名
2 将数据存入零时表1中
3 按照查出来的列名循环从零时表中查询这列中是不是有你要的那个数据,有的话,这条数据保留
4 查出的数据存入零时表2中,并且从零时表1中删除
5 零时表2中的内容就是你所要的所有数据
每一步关键点说明
1 遍历的话给一个小例子
select name from syscolumns where id = object_id(’表名’)
2 略。
3 需要开游标(这个网上很多)
ps:如果字段比较少的话,你可以不用写循环,直接罗列就可以了
4 就是3的insert操作变成delete
5 得到结果
方法2
据例子说明
如第一条记录是1,2,3,4
第二条记录是2,3
第三条记录是1
第四条记录是1,3
给每条记录上一个识别字
建立一个零时表2个字段 sysid columvalues
将每列的值和这列的识别字分别插入
内容如
r1 1
r1 2
r1 3
r1 4
r2 2
r2 3
r3 1
r4 1
r4 3
然后查询这个表获得内容columvalues是1的行识别字(distict一下)
然后。。应该很清楚了八:)
展开全部
用charindex函数:
a1="1"
sql="select * from 数据表 where '"&a1&"' in(字段名)"
成
a1="1"
select * from 数据表 where
字段名 In
(
select 字段名 From 数据表 where charindex(a1,字段名)>0
)
In语句的用法楼主需要熟悉一下,否则你不能熟练正确地运用In语句
a1="1"
sql="select * from 数据表 where '"&a1&"' in(字段名)"
成
a1="1"
select * from 数据表 where
字段名 In
(
select 字段名 From 数据表 where charindex(a1,字段名)>0
)
In语句的用法楼主需要熟悉一下,否则你不能熟练正确地运用In语句
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql="select * from 数据表 where 字段名 like '*"&a1&"*' and 字段名 not like '*[0-9]"&a1&"*' and 字段名 not like '*"&a1&"[0-9]*'"
试试
试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select* From 表名Where 字段名like '%变量名%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习,永无止境!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询