1

次のクエリを使用してギャラリーから最初の 5 行を取得したいのですが、行ごとに _gallery_gallery_items から最初の一致のみを取得したいと考えています。

たとえば、ギャラリーから犬のギャラリー、猫のギャラリー、およびその後のギャラリーのタイトルを取得したいのですが、_gallery_gallery_items から最初の一致のみを取得したいのですが、_gallery_gallery_items.gallery_id = gallery.id です。

したがって、結果は次のようになります。

id = 1
title = dog gallery
gallery_item_id = 70

id = 2
title = cat gallery
gallery_item_id = 102

id = 3
title = mouse gallery
gallery_item_id = 500

後続の gallery_item_ids は、犬のギャラリーには表示されません。72、72

これまでの私のクエリは次のとおりです。

SELECT gallery.id, gallery.title, _gallery_gallery_items.gallery_item_id
FROM gallery LEFT JOIN
_gallery_gallery_items ON gallery.id = _gallery_gallery_items.gallery_id

そしてテーブル:

ギャラリー

id|title
1 |dog gallery
2 |cat gallery
3 |mouse gallery

_gallery_gallery_items

id|gallery_id|gallery_item_id
1|     1     |      70
2|     2     |      102
3|     1     |      71
4|     1     |      72
5|     3     |     500
4

4 に答える 4

0

テーブル A と 1 対多のリレーション テーブル AB があり、多テーブルが B であるとします。

Select *
From A table_a
Left Join (select * from AB group by A_id) table_ab on table_ab.A_id = table_a.id
#... (rest is yours)

ありがとう。

于 2016-06-10T11:16:31.123 に答える