-2

GalleryID DESC で並べ替えられた 4 つの結果を選択しようとしている 2 つのテーブルがあります。返そうとするフィールドは、Galleries テーブルの GalleryID、GalleryTitle、GalleryDate、および Media テーブルの MediaThumb です。

問題は、Media テーブルに GalleryID の 10 の倍数があることです。そのため、Media テーブルには同じ GalleryID を持つ 10 行が存在する可能性があります。必要なのは、galleryid と一緒に使用する 1 つの MediaThumb だけです。

ギャラリーテーブルから4つの異なるギャラリーIDを返し、メディアテーブルからMediaThumbを返すクエリを作成する方法がわかりません。

基本的に、私がやろうとしているのは、メディア テーブルからカバー写真を含む 4 つのユニークな写真ギャラリーを返すことです。

どんな助けでも大歓迎です。2 つのテーブルの sqlserver でクエリ デザイナーを使用してスナップショットを提供しました。

ここに画像の説明を入力

4

3 に答える 3

2

このようなもの?

SELECT TOP 4 
    g.GalleryID
    ,g.GalleryTitle
    ,g.GalleryDate
    ,MAX(m.MediaThumb) AS MaxMediaThumb
FROM Galleries g
    INNER JOIN Media m
        ON g.GalleryID = m.GalleryID
GROUP BY g.GalleryID, g.GalleryTitle, g.GalleryDate
于 2012-07-11T19:52:26.643 に答える
0

私が理解していること

SELECT DISTINCT(g.GalleryID), g.GalleryTitle, g.GalleryDate, MAX(m.MediaThumb)
FROM Galleries g
    INNER JOIN Media m
        ON g.GalleryID = m.GalleryID
GROUP BY g.GalleryID, g.GalleryTitle, g.GalleryDate
于 2012-07-11T19:59:47.393 に答える
0

私があなたを正しく理解していれば、GalleryID ごとにいずれか 1 つの MediaThumb が必要であり、どれを気にする必要はありません。それが正しければ、SELECT max(MediaThumb) と GROUP BY GalleryID をお勧めします。

于 2012-07-11T20:00:10.020 に答える