您的位置:首页 > 数据库

SQL 连接 表,取副表的第一条数据

2015-09-10 15:22 393 查看
两个表是一(A表)对多(B表)的关系,join的时候,B表只对应显示第一条数据(某些条件)。sql该如何写?

表A
Aid           title          days
1   清远二天游     2
2   东莞一天游     1
3   深圳小梅沙二天 2

表B
Bid           BAid          price
1              1          5220
2              1          3330
3              1           200
4              1           300
5              2         46546
6              2           555
7              2            55
8              2          5552
9              3           333
10              3          3330
11              3           444
12              3           444
13              3          4444

2个表通过通过Aid=Baid连接

期待的结果:

a.aid b.baid b.bid a.title a.days b.price
1       1    1    清远二天游    2    5220
2       2    5    东莞一天游    1    46546
3       3    9   深圳小梅沙二天 2    333
aid内容相同的数据只显示一条。


解答:

select a.aid,a.title,a.days,b.price from 表A a,(select min(bid) as bid, BAid,min(price) as price from  表B group by BAid) b where a.aid=b.baid

获取所有字段:

select a.*,b.* from  表A a,表B b where a.aid=b.baid and b.bid in (select min(bid) as bid from 表B group by Baid)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SQL