比如A表房源表,B表房源图片表,A与B是一对多的关系。B字段house_id关联表A字段id。
现在需要列出A表信息及其所属图片第一张的类型(按图片上传时间排序)。
SQL Server可通过“PARTITION BY”实现。
SELECT TOP 15 h.id, h.info_address, m.image_type FROM mt_house_info_tbl h INNER JOIN (SELECT i.*, ROW_NUMBER() OVER (PARTITION BY i.house_id ORDER BY i.upload_time DESC) num FROM dbo.house_images_info_tbl i WHERE i.imgState <> 3) m ON m.house_id = h.id AND m.num = 1;