Please refer below Sql Script
SQL
SELECT * FROM PersonTable
SELECT * FROM ProductTable
SELECT * FROM FruitTable
DECLARE @Name VARCHAR(200)
SET @Name = 'Rustam'
SELECT tbl.Id,tbl.Product,tbl.[Date] FROM
(
SELECT A.Product,
Split.a.value('.', 'VARCHAR(100)') AS Id
,[Date]
FROM
(
SELECT Product,
CAST ('<M>' + REPLACE(PersonId, ',', '</M><M>') + '</M>' AS XML) AS Data,
[Date]
FROM ProductTable
UNION ALL
SELECT Product,
CAST ('<M>' + REPLACE(PersontableId, ',', '</M><M>') + '</M>' AS XML) AS Data,
[Date]
FROM ProductTable
) AS A CROSS APPLY Data.nodes ('/M') AS Split(a)
UNION
SELECT A.Fruit,
Split.a.value('.', 'VARCHAR(100)') AS Id,
[Date]
FROM
(
SELECT Fruit,
CAST ('<M>' + REPLACE(PersonId, ',', '</M><M>') + '</M>' AS XML) AS Data,
[Date]
FROM FruitTable
UNION ALL
SELECT Fruit,
CAST ('<M>' + REPLACE(PersontableId, ',', '</M><M>') + '</M>' AS XML) AS Data,
[Date]
FROM FruitTable
) AS A CROSS APPLY Data.nodes ('/M') AS Split(a)
) as tbl
INNER JOIN PersonTable p
ON p.Id = tbl.Id
WHERE p.Name = @Name