-2

我有 2 个表,我试图从按 GalleryID DESC 排序的 4 个结果中选择。我希望返回的字段是画廊表中的 GalleryID、GalleryTitle、GalleryDate 和媒体表中的 MediaThumb。

现在要注意的是 Media 表有 GalleryID 的 10 的倍数。因此,Media 表中可能有 10 行具有相同的 GalleryID。我所需要的只是一个 MediaThumb 与 galleryid 一起使用。

我不确定如何制定查询以从画廊表中返回 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,您都需要任何一个 MediaThumb,而您不在乎哪个。如果这是正确的,那么我建议您选择 max(MediaThumb) 和 GROUP BY GalleryID。

于 2012-07-11T20:00:10.020 回答