2012-07-09 74 views
0

我有表的結構如下如何從另一個有相同ID的多個記錄的表中獲取記錄?

table-1 
------- 
id 
name 


table-2 
-------- 
imageId 
id (reference of table1.id) 
image 

和表1有如下記錄

id  name 
1  A 
2  B 
3  C 

表2具有

imageId  id   image 
1    1   image1.jpg 
2    1   image2.jpg 
3    2   image3.jpg 

即table1.id在表2許多圖像,現在我需要選擇記錄及其相應的圖像(多個圖像爲相同的ID),如

id name  image 
1  A   image1.jpg,image2.jpg 
2  B   image3.jpg 
+0

您應該檢查SQL中的聯接。這是你所需要的。 – Hardik 2012-07-09 12:00:36

+0

@hardik感謝您的建議,我嘗試加入,但**贊恩邊**給出了我需要的確切答案。 – 2012-07-09 12:18:44

回答

1

可以使用GROUP_CONCAT函數來獲取多個行的值到一個逗號分隔的字符串(如你如何在你的示例期望的結果):

SELECT a.id, a.name, GROUP_CONCAT(b.image) AS images 
FROM table1 a 
INNER JOIN table2 b ON a.id = b.id 
GROUP BY a.id, a.name 
+0

謝謝:-)其工作。你節省了我的時間。 – 2012-07-09 12:13:29

1
select 
    b.imageId, 
    a.id, 
    b.imageName 
from 
    table-1 a 
    right outer join table-2 
     on a.id=b.id 

這會給你的輸出:

id name  image 

1  A   image1.jpg 
1  A   image2.jpg 
2  B   image3.jpg 
相關問題