内部加入和选择

时间:2012-10-16 12:45:38

标签: sql

  

可能重复:
  SQL Server: Get Top 1 of Each Group

我在MS SQL中有2个表。 tblProducts和tblProductsImage之一。

所有产品都有分钟。 2张照片。但我想只展示第一张图片,每件产品。

我可以做什么INNER JOIN和SELECT命令。

2 个答案:

答案 0 :(得分:1)

如果您可以使用申请,您可以使用这样的查询,但它按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

答案 1 :(得分: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