sql如何查询一个字段同时满足几个值的记录?

时间:2022-12-17 02:53:49
序号  外键   字段B
1    2      1
2    2      2
3    5      8
6    3      5


好比如我想查询同时符合两个值的条件,如:
select  外键  from 表 where  字段B=1 AND 字段B=2

17 个解决方案

#1


and就是同时!

#2


 但那样查不到数据啊

#3


or可以

#4


select  外键  from 表 where  字段B=1 or 字段B=2 

#5


我是想一个字段同时满足两个值,用or的话会把其它的值也会找出来的

#6


用OR只要满足其中一个条件就可以了,不会同时都满足两个的

#7


本来就没有同时满足两个条件的记录如何能查出来?

#8


select  外键  from 表 where  字段B in(1,2)

#9


declare @tb table(id int, xx int,yy int)
insert into @tb select 1,2,1
union all
select 2,2,2
union all
select 3,5,8
union all
select 6,3,5

select  *  from @tb where  yy in(1,2)
select * from @tb where yy=1 or yy=2

#10


这个效果跟用or是一样的

#11


select *  from 表 where  字段B=1 AND 字段B=

#12


是不是你字段类型的问题 

#13


select *  from 表 where  字段B=1 or 字段B=2

#14


楼主基本功要加强

#15


该回复于2011-10-24 13:43:29被版主删除

#16


问题解决啦,散分。。。

#17


select A.外键
from (select *
from  表
where 字段B=1) as A,
(select *
from 表
where 字段B=2) as B
where A.外键=B.外键

#1


and就是同时!

#2


 但那样查不到数据啊

#3


or可以

#4


select  外键  from 表 where  字段B=1 or 字段B=2 

#5


我是想一个字段同时满足两个值,用or的话会把其它的值也会找出来的

#6


用OR只要满足其中一个条件就可以了,不会同时都满足两个的

#7


本来就没有同时满足两个条件的记录如何能查出来?

#8


select  外键  from 表 where  字段B in(1,2)

#9


declare @tb table(id int, xx int,yy int)
insert into @tb select 1,2,1
union all
select 2,2,2
union all
select 3,5,8
union all
select 6,3,5

select  *  from @tb where  yy in(1,2)
select * from @tb where yy=1 or yy=2

#10


这个效果跟用or是一样的

#11


select *  from 表 where  字段B=1 AND 字段B=

#12


是不是你字段类型的问题 

#13


select *  from 表 where  字段B=1 or 字段B=2

#14


楼主基本功要加强

#15


该回复于2011-10-24 13:43:29被版主删除

#16


问题解决啦,散分。。。

#17


select A.外键
from (select *
from  表
where 字段B=1) as A,
(select *
from 表
where 字段B=2) as B
where A.外键=B.外键