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

两个表是一(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)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值