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(字段名)"

只显示第三条记录!
展开
 我来答
linsio1983
2009-02-06 · 超过24用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:66.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一下)
然后。。应该很清楚了八:)
qipvfgkh
推荐于2016-03-16 · TA获得超过109个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:171万
展开全部
用charindex函数:
a1="1"
sql="select * from 数据表 where '"&a1&"' in(字段名)"

a1="1"
select * from 数据表 where
字段名 In
(
select 字段名 From 数据表 where charindex(a1,字段名)>0
)

In语句的用法楼主需要熟悉一下,否则你不能熟练正确地运用In语句
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ert211
2009-02-06 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:219万
展开全部
sql="select * from 数据表 where 字段名 like '*"&a1&"*' and 字段名 not like '*[0-9]"&a1&"*' and 字段名 not like '*"&a1&"[0-9]*'"

试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dfaa21593
2009-02-06 · TA获得超过424个赞
知道答主
回答量:449
采纳率:0%
帮助的人:0
展开全部
Select* From 表名Where 字段名like '%变量名%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
双鹊会
2009-02-14 · TA获得超过237个赞
知道小有建树答主
回答量:177
采纳率:50%
帮助的人:97.6万
展开全部
学习,永无止境!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式