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

1,根据menuid查询companyid
2,menuid可以是一个可以是多个
3,如果是menuid是多个那么只查询完全符合条件的companyid
例如:menuid=5和8那么只查询出companyid=2

具体方法如下:

假定表名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表通过别名做三次关联查询。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于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)+',%'本回答被提问者采纳
第2个回答  2011-06-14
select 别名.字段1,别名.字段2,别名.字段3 FROM 表.别名 WHERE 别名.字段1 IN ('字段1值1',字段1值2'','字段1值3');
用关键字 IN实现 一个字段的多个值查询,上面使用伪代码举例
希望我的回答对你有帮助。。
第3个回答  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条数据的结果集
第4个回答  2011-06-14
select companyid from 表名 where menuid in (值 , 值 , ……)
或者 menuid是根据别的条件从别的地方查出来的
select companyid from 表名 where menuid in (select menuid from .....)

sql如何根据一个字段的多个值查询?
具体方法如下:假定表名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...

sql如何一个字段多值查询?
1、首先在桌面上,点击“Management Studio”图标。2、其次在该窗口中,点击左上角“新建查询”选项。3、次之在该窗口中,输入查询条件一个字段=多个值的sql语句“select * from rss where grade=100 or grade = 90;”。4、再者在该窗口中,点击左上方“执行”按钮。5、最后在该窗口中,显示查...

sql如何根据一个字段的多个值查询
('字段1值1',字段1值2'','字段1值3');用关键字 IN实现 一个字段的多个值查询,上面使用伪代码举例 希望我的回答对你有帮助。。

SQL语句查询条件一个字段=多个值怎么写
假定表名test,列id是数值类型。用同一个字段的多 个值作为条件来查询可以使用in或者or。具体语句如下:1、select * from test where id in (1,2,3)go 2、select * from testwhere id= 1orid =2orid=3 go 布局化查询言语(Structured Query Language)简称SQL(发音:\/es kju el\/ S-Q-L),...

...你的这个问题“sql如何根据一个字段的多个值查询”可有解决?我现在...
什么叫根据一个字段的多个值查询?也就是说必须是这个值等于这三个才能得到2427?这个应该可以用编程语言去处理吧,单单一个查询好困难啊 这样啊 你可以这样做 select products_id from 表名 where (select products_id from 表名 where filter_options_values_id=你的第一个传入值)=(select products...

如何查询一个表中A字段中B字段有多个值的数据
那就只能是2个sql 对应多个B值的A值: select a from t group by a having count(b)>1 \/\/一定是count(b),不能是count(1)对应多个A值的B值: select b from t group by b having count(a)>1 \/\/一定是count(a)

SQL语句 一个字段查询两个条件
select * from [表名] where [字段名] in ('裤子','鞋')就是这个 代表查询所有的内容,如果你只要查询产品型号的话就把*改成字段名产品弄号。

SQL语句,取某条字段有多个值的记录?
SELECT from T1 t WHERE EXISTS (SELECT 1 FROM T1 where id = t.id and name = t.name and age <> t.age)

sql根据一个字段不同值查询不同表中的一个字段
1、首先在桌面上,点击“Management Studio”图标。2、之后在该界面中,点击左上角“新建查询”按钮。3、接着在该界面中,输入根据一个字段不同值查询不同表中的一个字段的sql语句:SELECT b.BonusPenaltyMoney FROM mySGProject a join mySGBonusPenalty b on a.SGProjectNo=b.SGProjectNo where ...

SQL一个字段多个值的查询
SQL一个字段多个值的查询 select * from otim where sheetid in(1,2,3)

相似回答