I have 3 tables in my database as shown below:

I want to insert data in RESULT table from Infos table. And only those rows are inserted that are listed in Picker table. But since InfoID column of Result table is a primary key, so it will restrict already existed InfoID to be reinserted again. And Picker table's 'InfoIDs' can have repeated values. Picker table is actually a temporary table created in a stored procedure.
I am not so pro in making join queries, so I took help of some SO questions and developed following query:
INSERT INTO @Result([INFOID],[VALUE],[PROCESSED]) (SELECT T1.Id,
CASE
WHEN T1.Value1 = '-1' THEN T1.Value2
ELSE T1.Value1
END, 0
FROM [Infos] T1 LEFT JOIN (SELECT [InfoIDs] FROM Picker AS A1 WHERE (NOT EXISTS (SELECT [INFOID] FROM @Result AS A2 WHERE A1.[InfoIDs] != A2.[INFOID]))) T2 ON T1.Id = T2.InfoIDs)
But the problem is that I am getting only one row in output of Result table. Please tell me what's wrong with my query?
UPDATE
Expected Result:
