gpt4 book ai didi

mysql - 如何从三个表到三列中选择数据?

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

我有下一个数据库表: enter image description here

如何选择这种格式的数据:

enter image description here

我正在尝试使用这个sql:

SELECT b.id, b.name, name_translate
FROM books b
LEFT JOIN books_translates bt
ON bt.book_id = b.id
LEFT JOIN translates t
ON t.id = bt.translate_id

但我只得到:

enter image description here

最佳答案

您正在尝试做一些称为枢轴的事情。这是 MySQL 中臭名昭著的难题。

你可以尝试这个:

SELECT b.id, b.name, 
GROUP_CONCAT(t.name_translate ORDER BY t.name_translate) translations
FROM books b
LEFT JOIN books_translates bt ON bt.book_id = b.id
LEFT JOIN translates t ON t.id = bt.translate_id
GROUP BY b.name, b.id
ORDER BY b.name, b.id

它将把您的所有翻译拉到一列中。

关于mysql - 如何从三个表到三列中选择数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309224/

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