gpt4 book ai didi

mysql - 多对多映射的 SQL 查询

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

我有3张 table

Entries Table 

ID Name Title
1 test1 hello1
2 test2 hello2
3 test3 hello3


Keywords Table
ID Text
5 sample
6 testing
7 hello

EntryKey Table
ID KeywordID EntryID
1 5 1
2 6 2
3 7 3
4 6 2
5 7 1

词条和关键词是多对多的关系。每个条目可以有多个关键字,一个关键字可以在多个条目中

我想要的是获取条目及其关联的关键字,但我不想在列表中重复这些条目。

我的尝试

 SELECT e.id, e.title, e.name, e.text, e.emailaddress, k.text
FROM entries e
LEFT JOIN keyentries ke
ON e.id = ke.entryID
LEFT JOIN keywords k
ON k.id = ke.keywordID ;

但它给了我条目 1 和 2 两次,因为它有两个关键字。任何帮助

提前致谢

最佳答案

使用 GROUP_CONCAT 将它们放在一起。

SELECT e.id, e.title, e.name, e.text, e.emailaddress, GROUP_CONCAT(k.text) keywords
FROM entries e
LEFT JOIN keyentries ke
ON e.id = ke.entryID
LEFT JOIN keywords k
ON k.id = ke.keywordID
GROUP BY e.id;

关于mysql - 多对多映射的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17158818/

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