sql如何根据一个字段的多个值查询

1,根据menuid查询companyid2,menuid可以是一个可以是多个3,如果是menuid是多个那么只查询完全符合条件的companyid例如:menuid=5... 1,根据menuid查询companyid
2,menuid可以是一个可以是多个
3,如果是menuid是多个那么只查询完全符合条件的companyid
例如:menuid=5和8那么只查询出companyid=2
展开
 我来答
tutu天然呆
高粉答主

2018-03-30 · 说的都是干货,快来关注
知道大有可为答主
回答量:239
采纳率:100%
帮助的人:7.4万
展开全部

具体方法如下:

假定表名test,列id是数值类型。
用同一个字段的多个值作为条件来查询可以使用in或者or。

具体语句如下: 

1、select * from test where id in (1,2,3)

2、select * from test where id = 1 or id =2 or id = 3

显然第一种方法更简便。 

PS: 如果如你消息所说,有一个选课表test,学生号id,所选课程名name,那么,检索同时选择了美术、体育、音乐三门课程的学生id的语法如下:

select a.id from test a,test b,test c
where a.id = b.id and b.i
d = c.id and a.name = '美术' and b.name = '体育' and c.name = '音乐';

问题的关键,在于test表通过别名做三次关联查询。

匿名用户
推荐于2017-11-24
展开全部
如果menuid是列表1,5,8
那么select distinct companyid from menutable where menuid in('1','5','8')(如果menuid为字符类型,数字类型将引号去掉)

如果传入的menuid是个字符串1,5,8
那么写成select distinct companyid from menutable where ',1,5,8,' like '%,'+cast(menuid as varchar)+',%'
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0level
2011-06-14 · 超过23用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:70.4万
展开全部
select 别名.字段1,别名.字段2,别名.字段3 FROM 表.别名 WHERE 别名.字段1 IN ('字段1值1',字段1值2'','字段1值3');
用关键字 IN实现 一个字段的多个值查询,上面使用伪代码举例
希望我的回答对你有帮助。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-04
展开全部
代码如下:
  SELECT * FROM news_extinfo
where
(ExtID = 1 and OptionValue = 0)
or (ExtID = 2 and OptionValue = 0 )
or (ExtID = 3 and OptionValue = 0 )
group by NewsID
having count(*)=3

此处 count(*) = 3 表示的意思是

在查询的结果中,只查出按group 分组之后,每个组的有3条数据的结果集
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hellsinner11
2011-06-14
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
select companyid from 表名 where menuid in (值 , 值 , ……)
或者 menuid是根据别的条件从别的地方查出来的
select companyid from 表名 where menuid in (select menuid from .....)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式