0

下の表を参照しarticlearticle_image

表の記事

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

TABLE article_image

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

しかし、結果は私が望んでいたものではありません。期待される結果は次のようになります。

a_id tilte image
1    abc   a.jpg, b.jpg, c.jpg
2    def
3    ghi   d.jpg, e.jpg, f.jpg
4    jkl   g.jpg, h.jpg
5    mno

これら2つのテーブルをクエリして上記の結果を得る方法を誰かがアドバイスできますか?

ありがとう

4

2 に答える 2

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;
于 2013-04-15T08:37:39.893 に答える
0
"SELECT article.a_id, article.title, article_image.image FROM article
INNER JOIN article_iamge ON article.a_id = article_image.a_id
于 2013-04-15T08:39:45.517 に答える