2016-01-14 218 views
2

我在mysql中的兩個表(WordPress的帖子DB的結構相同):如何連接兩個MySQL表兩次

表1: 「後」
ID |名稱
1 | iphone
2 | ipad
3 | images01.jpg(thumbnail for iPhone)
4 | macbook
5 | images02.jpg(縮略圖爲iPad)

表2: 「圖像」
POST_ID | image_id
1 | 3
2 | 5

我運行SQL:

SELECT post.*, image.image_id FROM post 
LEFT JOIN image ON post.id = image.post_id 

結果:

ID |名稱| image_id
1 | iPhone | 3
2 | iPad | 5

如何在只有一個sql調用的結果中獲得縮略圖名稱(imagesxx.jpg)?

+0

什麼是縮略名稱對應的字段?你無法在當前查詢中獲得所需的輸出嗎? – PrinceG

+0

查看'post'表的示例數據,我認爲您需要一個單獨的字段用於縮略圖 – PrinceG

+0

縮略圖名稱在Table1中,但在另一行中 –

回答

0

使用別名並返回到發佈表。

SELECT p.*, i1.image_id image_id, p2.name image_name 
FROM post p 
LEFT JOIN image as i1 
    ON p.id = i1.post_id 
LEFT JOIN post as p2 
    ON i1.image_id = p2.id 


SQL Fiddle

+0

就像一個魅力。謝謝!!! –

+0

在這裏幫助@jude Nguyen!如果您將我的答案標記爲您接受的答案,將不勝感激。標記爲 –

+0

。我也想單擊「向上箭頭」爲你,但我不能,因爲我沒有足夠的代表 –

1

那是你的查詢:

select p.id,p.name,p1.name from image i inner join post p on i.post_id=p.id 
inner join post p1 on i.image_id=p1.id