to fix my previous script error
SELECT a.BoxId, MAX(b.field1) as value1 , MAX(c.field1) as value2, MAX(d.field1) as value3, MAX(e.field1) as value4
FROM boxes a LEFT JOIN widgets bb ON a.boxid = bb.boxid AND bb.parameter IN ( 1,2,3,4 )
OUTER APPLY ( SELECT bb.field1 WHERE bb.parameter = 1 ) b
OUTER APPLY ( SELECT bb.field1 WHERE bb.parameter = 2) c
OUTER APPLY ( SELECT bb.field1 WHERE bb.parameter = 3) d
OUTER APPLY( SELECT bb.field1 WHERE bb.parameter = 4) e
GROUP BY a.BoxId
still can't give the same return with the original script ,just to correct my errors .sorry for my fault