| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
ADSL如何秒变专线,公网IP盒子了解一下千里之行 始于足下
共有 407 人关注过本帖
标题:select * from 表 where 字段 in (........)的问题
只看楼主 加入收藏
zhousr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2019-3-8
结帖率:88.89%
  已结贴   问题点数:16  回复次数:8   
select * from 表 where 字段 in (........)的问题
招生计划表中有一列是专业名称。我在文本框中输入多个专业名称,分别赋值给zy1、zy2、zy3。。。。,然后从表中的专业名称列中找出所有包含zy1或zy2或zy3的行。比如我输入的是“医学”,专业名称中所有包含“医学”两字的都要能选出来,如临床医学、医学美容等。我的语句是:
SELECT * FROM zsjh WHERE Zymc in ("&zy1","&zy2","&zy3","&zy4","&zy5")
可是,运行结果出现了这样的情况:它只找到了医学美容,没找到临床医学。输入“金融”,找到的全部是金融开头的专业,“国际金融”之类的找不到。
请问:是什么原因,如何解决?谢谢!
搜索更多相关主题的帖子: select from where 专业 名称 
2019-05-15 21:42
sdta
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏省连云港市
等 级:贵宾
威 望:188
帖 子:7794
专家分:19170
注 册:2012-2-5
  得分:8 
where "医学"$Zymc

坚守VFP最后的阵地
2019-05-15 22:09
yafengliang
Rank: 2
等 级:论坛游民
帖 子:79
专家分:13
注 册:2016-2-21
  得分:8 
回复 楼主 zhousr
要采用模糊查询
2019-05-15 22:13
sdta
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏省连云港市
等 级:贵宾
威 望:188
帖 子:7794
专家分:19170
注 册:2012-2-5
  得分:0 
或者
where Zymc like "%医学%"

坚守VFP最后的阵地
2019-05-15 22:14
zhousr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2019-3-8
  得分:0 
谢谢!
用where zymc like "%&zy1.%" OR zymc like "%&zy2.%" OR zymc like "%&zy3.%",结果它给出了所有的记录,整张表的内容。
2019-05-15 22:40
zhousr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2019-3-8
  得分:0 

取输入的专业名:
IF LEN(ALLTRIM(thisform.text1.value))>0  &&专业
zy1=ALLTRIM(thisform.text1.value)
ELSE
zy1="不限"
ENDIF
所有专业名称中都不会有“不限”两字。
2019-05-15 22:43
sdta
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏省连云港市
等 级:贵宾
威 望:188
帖 子:7794
专家分:19170
注 册:2012-2-5
  得分:0 
where zymc like "%" + zy1 + "%" OR zymc like "%" + zy2 + "%" OR zymc like "%" + zy3 + "%"

zy1
zy2
zy3
中必须没有空格才行

用下面的代码会更简单
where zy1$zymc or zy2$zymc or zy3$zymc

坚守VFP最后的阵地
2019-05-15 22:58
sdta
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏省连云港市
等 级:贵宾
威 望:188
帖 子:7794
专家分:19170
注 册:2012-2-5
  得分:0 
如果输入专业的文本框是固定的,不需要判断是否为空,可以这样
zy1 = alltrim(thisform.text1.value)
zy2 = alltrim(thisform.text2.value)
zy3 = alltrim(thisform.text3.value)

select * from 表 where zy1$zymc or zy2$zymc or zy3$zymc

坚守VFP最后的阵地
2019-05-15 23:02
zhousr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2019-3-8
  得分:0 
sdta,非常非常感谢!!!
select * from 表 where zy1$zymc or zy2$zymc or zy3$zymc
彻底解决问题!再次感谢!!!
2019-05-15 23:29







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017549 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved