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