我必须表一个是用户,第二个是图像。 Same Uid的Image表中有很多行。如何根据Uid找到不同的记录。
User
ID , int
Date Date
Image
ImageID int
ImageStatus int
Uid int (reference from User Table)
ImagePath varchar(50)
我正在使用以下查询,但它为UId提供了多行
select I.Uid, I.ImagePath, I.status from user u inner join Image I on u.Uid=I.Uid order by u.Date desc
答案 0 :(得分:0)
尝试将Row_number()
与Partition
;with cte as
(
select I.Uid, I.ImagePath,rn=row_number()over(partition by I.Uid order by u.Date desc), I.status from user u inner join Image I on u.Uid=I.Uid
)
select * from cte where rn=1
答案 1 :(得分:0)
您不需要进行连接,而是可以在图像表中找到不同的UID。
select distinct I.Uid from Image I;
或者,如果您想明确列出特定列:
select distinct I.Uid, I.ImagePath, I.status from Image I order by u.Date desc;