VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3039|回复: 23

请教大侠们,这样的查询能实现吗???????????????

[复制链接]

1

主题

8

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-19 12:00:01 | 显示全部楼层 |阅读模式
表一
A列        A列
0001        1
0001        2
0001        3
0001        4
0001        5
0001        6
0001        7
0001        8
0001        9
0001        10
0001        11
0001        12
0002        10
0003        1
0003        2
0003        3
0003        4
0003        5
0003        6
0003        7
0003        8
0003        9
0003        10
0003        11
0003        12
---------
想查询出上表中A列值'0002'和B列值'10'这一条记录,如何查询,谢谢!!!


回复

使用道具 举报

0

主题

35

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-6-23 14:45:02 | 显示全部楼层
这样?
select * from t where A列 = '0002' and B列 = '10'
回复

使用道具 举报

0

主题

93

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-6-23 16:15:01 | 显示全部楼层
如果按楼主的要求,楼上的就可以实现了
回复

使用道具 举报

0

主题

126

帖子

73.00

积分

新手上路

Rank: 1

积分
73.00
发表于 2020-6-23 16:45:01 | 显示全部楼层
呵呵。。
楼上正解

如果2个条件是或者关系,用OR
select * from t where A列 = '0002' OR B列 = '10'
回复

使用道具 举报

0

主题

12

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-6-23 17:00:01 | 显示全部楼层
select
    t.*
from
    表一 t
where
    not exists(select 1 from 表一 where A列=t.A列 and B列!=t.B列)
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-6-23 18:00:01 | 显示全部楼层
。。。楼主是这意思?
回复

使用道具 举报

0

主题

12

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-6-23 19:00:01 | 显示全部楼层
declare @t table(A varchar(4),B int)
insert into @t select '0001',1
insert into @t select '0001',2
insert into @t select '0001',3
insert into @t select '0001',4
insert into @t select '0001',5
insert into @t select '0001',6
insert into @t select '0001',7
insert into @t select '0001',8
insert into @t select '0001',9
insert into @t select '0001',10
insert into @t select '0001',11
insert into @t select '0001',12
insert into @t select '0002',10
insert into @t select '0003',1
insert into @t select '0003',2
insert into @t select '0003',3
insert into @t select '0003',4
insert into @t select '0003',5
insert into @t select '0003',6
insert into @t select '0003',7
insert into @t select '0003',8
insert into @t select '0003',9
insert into @t select '0003',10
insert into @t select '0003',11
insert into @t select '0003',12

select t.* from @t t where not exists(select 1 from @t where A=t.A and B!=t.B)

/*
A    B           
---- -----------
0002 10
*/
回复

使用道具 举报

0

主题

35

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-6-23 19:30:01 | 显示全部楼层
还是这样?
select A列,min(B列) from t group by A列 having count(*) = 1
回复

使用道具 举报

0

主题

93

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-6-23 22:00:01 | 显示全部楼层
如果B列没有记录数时,只有通过临时表实现

select * ,id=identity(1,1) into #
from 表
update b
set id=(select count(*)from # where A列=b.A列 and id!>b.id)--生成记录数
from # b
查询
select * from # where A列 = '0002' and id = '10'
回复

使用道具 举报

1

主题

13

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-6-23 23:30:02 | 显示全部楼层
搂住的要求
一楼的可以实现了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表