一个sql问题,如何获取关联表中的优先级最高的一条数据?

有两个表,一个A表一个B表。如下:
A表:

图片说明

B表:

图片说明

要求返回A表中的全部数据以及B表中的与A表关联的,且优先级最高的一条数据。其中b_priority表示优先级,b中的a_id=A中的a_id。最终的返回结果应该
类似这种的(数据是错误的)

图片说明


请问大神如何写这个sql啊。

2个回答

你的sql咋写方便透露不

select a.*,y.* from a (
    select b.* from b where exists (select 1 from (
        select a_id,max(b_priority) as b_priority from b group by a_id
    )c where b.a_id=c.a_id and b.b_priority = c.b_priority)
)y
where a.a_id= y.a_id

自己调一下吧,本地也没库没表,可能有些地方,需要自己完善下

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐