gpt4 book ai didi

mysql - 如何进行一对多查询?

转载 作者:行者123 更新时间:2023-11-29 21:57:13 25 4
gpt4 key购买 nike

我需要帮助进行此选择。

Table 1

Table 2

这是两张 table 。第一张表:-有Unique/Primary buyID-s(我们可以说这里的buyID是和Order)-distID-s 可以有很多。

第二个表:

-该表没有唯一标识符
-这里有多个相同的 buyID(基本上,这里的 buyID 提供有关订单的更多详细信息,提供第一个表中该订单的产品列表(buyID)。

我正在尝试做什么,但我不知道如何编写查询:
-从表1中选择distID=119的所有buyID-s(buyID-s将为1724、1833和1890)
- 从表 2 中计算数量总和,其中 buyID(来自 table2)= buyID(来自 table1)。

因此我必须:distID=119
buyID=1724--------数量=25(举例)
购买ID=1833--------数量=60
buyID=1890--------quantity=23(如果还有product_number列表就太好了)

我希望这是有道理的。我没有太多经验,我尝试了@一个小时,我确信不是太难,但这让我很生气......

我正在等待一些帮助。谢谢

最佳答案

使用LEFTJOINGROUP BY

select t1.distID, t2.buyID,sum(t2.quantity) as quantity
from table1 t1
left join table2 t2 on t2.buyID = t1.buyID
where t1.distID = 119
group by t1.distID, t2.buyID

如果您还想在结果集中包含 product_number,则必须使用 MAX(product_number) as Product_number 等聚合函数来选择它们,因为查询使用 GROUP BY 子句。

关于mysql - 如何进行一对多查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023862/

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