gpt4 book ai didi

mysql - 在 MySQL 中,我如何加入并只获得一组中的第一个

转载 作者:行者123 更新时间:2023-11-29 00:54:26 26 4
gpt4 key购买 nike

我有 3 个表:events、products 和关联表 event_products。

事件:event_id,

产品:产品编号、产品名称

event_products:event_id, product_id

一个事件可以没有或有很多产品。

我的问题是我需要一个事件列表,并且每个事件只需要一个结果行。在列表中,每个事件我只需要一个产品,最好是添加的第一个产品,或者如果无法完成,则使用具有最低 product_id 的产品。

select e.event_id, ep.product_id, p.product_name
FROM `events` e
LEFT OUTER JOIN event_products ep on ep.event_id = e.event_id
LEFT OUTER JOIN products p on p.product_id = ep.product_id;

当然,将为每个分配了多个产品的事件返回多行。

谢谢

最佳答案

select e.event_id, min(ep.product_id), p.product_name
FROM `events` e
LEFT OUTER JOIN event_products ep on ep.event_id = e.event_id
LEFT OUTER JOIN products p on p.product_id = ep.product_id
group by e.event_id, p.product_name
;

关于mysql - 在 MySQL 中,我如何加入并只获得一组中的第一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com