0

私は次のようなテーブル構造を持っています

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


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

table1には次のレコードがあります

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にはtable2に多くの画像があります。次に、レコードとそれに対応する画像(同じIDの複数の画像)を選択する必要があります。

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

2 に答える 2

1

この関数を使用して、GROUP_CONCAT複数の行にまたがる値を1つのコンマ区切りの文字列に取得できます(例の目的の結果のように)。

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
于 2012-07-09T12:06:41.530 に答える
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
于 2012-07-09T12:00:09.950 に答える