查询两个表并在MySQL中连接表值

时间:2013-04-15 08:35:26

标签: mysql concat

请参阅下表[{1}}和article

表格文章

article_image

TABLE article_image

id a_id title
1  1    abc
2  2    def
3  3    ghi
4  4    jkl
5  5    mno

我尝试了查询

id a_id image 1 1 a.jpg 2 1 b.jpg 3 1 c.jpg 4 3 d.jpg 5 3 e.jpg 6 3 f.jpg 7 4 g.jpg 8 4 h.jpg

但结果不是我想要的,预期结果应该是:

SELECT article.a_id, article.title, article_image.image
FROM article
JOIN article_image
ON (article.a_id = article_image.a_id)
GROUP BY article_image.thumbnail

有人可以建议如何查询这两个表,结果如上所述?

由于

2 个答案:

答案 0 :(得分:4)

使用MySQL内置函数GROUP_CONCATLEFT JOIN来包含那些在其他表中没有图像的文章:

SELECT 
  article.a_id, 
  article.title, 
  GROUP_CONCAT(article_image.image  SEPARATOR ',') AS images
FROM article 
LEFT JOIN article_image ON article.a_id = article_image.a_id
GROUP BY article.a_id, 
         article.title;

答案 1 :(得分:0)

"SELECT article.a_id, article.title, article_image.image FROM article
INNER JOIN article_iamge ON article.a_id = article_image.a_id