sqlserver ,left join 不仅可以join表,还可以是一个结果集

SELECT  MA.NAME AS MakeName ,
        M.ID AS ModelId ,
        M.Name AS ModelName ,
        M.Warranty AS ModelWarranty ,
        S.ID,S.NAME,S.StyleWarranty
FROM dbo.Model M
INNER JOIN dbo.Make MA ON MA.Id = M.MakeId
LEFT JOIN 
(
SELECT * FROM (
 SELECT    ROW_NUMBER() OVER ( PARTITION BY s1.ModelId ORDER BY s1.updatetime DESC ) rowid ,
                            s1.Id,S1.NAME,S1.MODELID,V.Value.value(‘(value/input/content)[1]‘, ‘varchar(50)‘) AS StyleWarranty
                  FROM      dbo.Style S1
                            INNER JOIN dbo.StylePropertyValue v ON S1.Id = v.StyleId
                    WHERE v.PropertyId = 398
                ) a
        WHERE   rowid = 1 

) S ON S.ModelId=M.Id
WHERE M.IsEnabled=1 AND M.IsRemoved=0

  

sqlserver ,left join 不仅可以join表,还可以是一个结果集,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。