0

重複の可能性:
SQL Server:各グループのトップ1を取得

MSSQLに2つのテーブルがあります。tblProductsとtblProductsImageの1つ。

そして、すべての製品には最小があります。2枚の写真。ただし、最初の画像、すべての製品のみを表示したいと思います。

このINNERJOINおよびSELECTコマンドで何ができますか。

4

2 に答える 2

1

applyを使用できる場合は、このようなクエリを使用できますが、ID順に並べられています

select *
from tblProducts as P
    outer apply
    (
        select top 1 T.Image from tblProductsImage as T
        where T.ProductId = P.Id
        order by T.Id
    ) as PI
于 2012-10-16T12:47:05.960 に答える
1

次のようなものを試してください。

 SELECT * 
FROM   TBLPRODUCTS T1 
       INNER JOIN (SELECT *, 
                          Row_number() 
                            OVER ( 
                              PARTITION BY PRODUCT_ID 
                              ORDER BY X) RN 
                   FROM   TBLPRODUCTSIMAGE)T2 
               ON T1.PRODUCT_ID = T2.PRODUCT_ID 
WHERE  T2.RN = 1 
于 2012-10-16T12:48:42.310 に答える