SELECT * FROM tableA LEFT JOIN tableB ON tableA.ID=@tableB.ID LEFT JOIN tableC ON tableA.ID2=@tableC.ID LEFT JOIN tableD ON tableA.ID3=@tableD.ID WHERE ( @tableB.ID IS NOT NULL OR NOT EXISTS (SELECT * FROM tableB) AND ( @tableC.ID IS NOT NULL OR NOT EXISTS (SELECT * FROM tableC) AND ( @tableD.ID IS NOT NULL OR NOT EXISTS (SELECT * FROM tableD)>Thanks for your reply as always Sergey. However, I must of not been very clear in my problem.