gpt4 book ai didi

mysql - 跨不同表的连接 - mysql/php 堆栈

转载 作者:行者123 更新时间:2023-11-29 04:46:37 25 4
gpt4 key购买 nike

我有三个表:

    Apples

ID|Name
1 |Granny
2 |Red
3 |Delicious

Pies
ID|Name|Apple_ID|Maker_ID
1 |Pie |1 |1
2 |Pie2|1 |2
3 |Pie3|1 |3
4 |Pie4|2 |1


Makers
ID|Name
1 |Jeff
2 |Jerry
3 |Jeremy

如您所见,一个苹果可以分为三个不同的馅饼,但与不同的制造商相关联。我想要一个准备以 CSV 格式导出的查询,该查询执行以下操作:

我想每行一个苹果,列中包含 apple ID、名称和制造商名称 列,但不是两个表之间的“临时”链接,Pies。像这样:

Granny, Jeff, Jerry, Jeremy
Red, Jeff

等等...我知道我可以对所有馅饼进行一个查询,然后对所有制造商进行另一个查询,但我想知道是否有一种方法可以将最后一张表中的值连接起来,就好像它们在同一“行”中一样.我也知道我可以有许多具有相同值的行,但它为那些只想看苹果并立即知道谁用它做了馅饼而不是扫描多行的人做准备。

感谢您的帮助!

最佳答案

SELECT CONCAT( Apples.name, ', ', GROUP_CONCAT(Makers.name SEPARATOR ', ') )
FROM Apples
JOIN Pies ON (Pies.Apple_ID = Apples.ID)
JOIN Makers ON (Makers.ID = Pies.Maker_ID)
GROUP BY Apples.name

检查 GROUP_CONCAT()手册页。调整其参数以根据需要格式化其输出。

关于mysql - 跨不同表的连接 - mysql/php 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18004203/

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