Please refer below Sql Script
SQL
DECLARE @PersonTable AS TABLE(Id INT,Name VARCHAR(50))
INSERT INTO @PersonTable VALUES(1,'Rustam')
INSERT INTO @PersonTable VALUES(2,'Asror')
INSERT INTO @PersonTable VALUES(3,'Firuz')
INSERT INTO @PersonTable VALUES(4,'Sadriddin')
DECLARE @ProductTable AS TABLE(Id INT,PersonId INT, Product VARCHAR(50),[Date] DATETIME)
INSERT INTO @ProductTable VALUES(1,1,'Oil','02.04.2016')
INSERT INTO @ProductTable VALUES(2,2,'Butter','02.04.2016')
INSERT INTO @ProductTable VALUES(3,1,'Apple','03.04.2016')
INSERT INTO @ProductTable VALUES(4,1,'Cherry','03.04.2016')
INSERT INTO @ProductTable VALUES(5,1,'Mango','03.04.2016')
INSERT INTO @ProductTable VALUES(6,3,'Melon','04.04.2016')
SELECT * FROM @PersonTable
SELECT * FROM @ProductTable
DECLARE @date AS DATETIME
SET @date = '03.04.2016'
SELECT per.Name,prd.Product,prd.[Date] FROM
@ProductTable prd
INNER JOIN @PersonTable per
ON prd.PersonId = per.Id
WHERE prd.Id IN(SELECT MAX(Id) FROM @ProductTable GROUP BY PersonId)
ORDER BY PersonId
Screenshot