[英]Mysql Query Join two tables
我有兩個簡單的表格,其中一張關於狗的品種,另一張關於狗的名字。
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
我已經嘗試了內部聯接,但是我真的無法弄清楚,這似乎很容易。 任何幫助將非常歡迎
如果您有大量記錄,內部查詢會降低性能(由於執行時間更長)。
優化的SQL查詢:
SELECT b.DogBreed,GROUP_CONCAT(n.DogName) FROM Breeds b
LEFT JOIN `Names` n ON n.DogId=b.DogId
GROUP BY n.DogId
您可以使用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
希望這個能對您有所幫助
SELECT b.dogbreed , (SELECT GROUP_CONCAT(DogName)
FROM NAMES WHERE DogId = b.DogId ) AS DogNames FROM Breeds b
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.