现有2张表 tb1、tb2:CREATE TABLE [dbo].[tb1](
[tb1order] [int] NULL,
[tb2name] [varchar](50) NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[tb2](
[tb2name] [varchar](50) NULL
) ON [PRIMARY]
GOtb1 之中数据为
INSERT INTO tb1(tb1order,tb2name) VALUES (1,'a')
INSERT INTO tb1(tb1order,tb2name) VALUES (2,'a')
INSERT INTO tb1(tb1order,tb2name) VALUES (3,'a')
INSERT INTO tb1(tb1order,tb2name) VALUES (1,'b')
INSERT INTO tb1(tb1order,tb2name) VALUES (2,'b')
INSERT INTO tb1(tb1order,tb2name) VALUES (3,'b')
tb2 之中数据为
INSERT INTO tb2 (tb2name) VALUES('a')
INSERT INTO tb2 (tb2name) VALUES('b')现想得到如下结果:查出tb2中name在tb1中order 最小的值tb1order tb2name
1 a
1 b谢谢了~!
[tb1order] [int] NULL,
[tb2name] [varchar](50) NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[tb2](
[tb2name] [varchar](50) NULL
) ON [PRIMARY]
GOtb1 之中数据为
INSERT INTO tb1(tb1order,tb2name) VALUES (1,'a')
INSERT INTO tb1(tb1order,tb2name) VALUES (2,'a')
INSERT INTO tb1(tb1order,tb2name) VALUES (3,'a')
INSERT INTO tb1(tb1order,tb2name) VALUES (1,'b')
INSERT INTO tb1(tb1order,tb2name) VALUES (2,'b')
INSERT INTO tb1(tb1order,tb2name) VALUES (3,'b')
tb2 之中数据为
INSERT INTO tb2 (tb2name) VALUES('a')
INSERT INTO tb2 (tb2name) VALUES('b')现想得到如下结果:查出tb2中name在tb1中order 最小的值tb1order tb2name
1 a
1 b谢谢了~!
解决方案 »
- 以学号为联系字段,比较表B表各字段的值与表A不一致的记录并标明不一致的字段? 先感谢前辈了!
- sql2000的安装奇怪问题
- 求助后进先出算法
- Reporting Service 导出 大数据的Execl时白屏!请问如何解决
- 请教:如何替换一个字段的一部分内容
- 小女子遇到问题:SQL语句只调用一次,却重复执行多次!
- 误操作 update 后遇到的问题,无日志。
- 急,SQL SERVER2000分离数据库后再附加上去就没数据了,请教各位高手,跪谢了!!!
- 请各位指路。
- 为什么恢复后SQL Server数据库中的用户看不见了
- datediff判断时间
- 如何将数据库里边的一张表进行随时更新出一张新表?
select b.tb1order,a.tb2name
from tb2 a
left join tb1 b on a.tb2name=b.tb2name
where b.tb1order in(select MIN(tb1order) from tb1)/*
1 a
1 b
*/
不过有问题啊貌似没有解决
用:
select b.tb1order,a.tb2name
from tb2 a
left join tb1 b on a.tb2name=b.tb2name
where b.tb1order in(select MIN(tb1order) from tb1)
tb1里的tb1order 如果不都是1,2,3的话就返回不了正确的结果。
比如说是
tb1:
2 a
3 a
7 a
4 b
5 b
8 b
那么返回的结果是
2 a
正确的应该是
2 a
4 b求解???
不过有问题啊貌似没有解决
用:
select b.tb1order,a.tb2name
from tb2 a
left join tb1 b on a.tb2name=b.tb2name
where b.tb1order in(select MIN(tb1order) from tb1)
tb1里的tb1order 如果不都是1,2,3的话就返回不了正确的结果。
比如说是
tb1:
2 a
3 a
7 a
4 b
5 b
8 b
那么返回的结果是
2 a
正确的应该是
2 a
4 b求解???知道了 在里面加一句 group by tb2name
select b.tb1order,a.tb2name
from tb2 a
left join tb1 b on a.tb2name=b.tb2name
where b.tb1order in(select MIN(tb1order) from tb1 GROUP BY tb2name)