我有两个简单的表格,一个关于狗品种,一个关于狗品牌。
Breeds:
DogId DogBreed
1 boxer
2 Lab
3 Sheppard
Names:
DogId DogName
1 Max
1 duke
2 Jack
2 Socks
3 Lassie
我正在寻找的结果是
boxer - duke, max
Lab- jack, socks
Sheppard- Lassie
我尝试过内连接,但我真的无法弄清楚这一点,看起来很容易。任何帮助都会非常受欢迎
答案 0 :(得分:2)
如果您有大量记录,内部查询会降低性能(因为执行时间较长)。
优化的SQL查询:
search_index.json
答案 1 :(得分:0)
您可以使用GROUP_CONCAT
尝试,
Select
b.dogbreed,
GROUP_CONCAT(
DISTINCT n.dogname
ORDER BY n.dogname ASC SEPARATOR ', '
) dognames
from breeds b
join names n on n.dogid = b.dogid
group by b.dogbreed
答案 2 :(得分:0)
希望这会对你有所帮助
SELECT b.dogbreed , (SELECT GROUP_CONCAT(DogName)
FROM NAMES WHERE DogId = b.DogId ) AS DogNames FROM Breeds b