2016-01-14 221 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