on basis of local variable value I want to make condition on a particular column in select statement.
declare @str VARCHAR(50)='ProjectCostAll'
SELECT pm.intProjectID,pm.strProjectName,im.intInvID,im.strInvNo
FROM dbo.tblProjectMaster PM
LEFT JOIN dbo.tblInvoiceDetails ID ON id.intProjectID=pm.intProjectID
LEFT JOIN dbo.tblInvoiceMaster IM ON im.intInvID=id.intInvID
WHERE CASE
WHEN @str ='ProjectCostInv' THEN
ISNULL(IM.intInvID,0) <> 0
WHEN @str ='ProjectCostNotInv' THEN
ISNULL(IM.intInvID,0) = 0
ELSE
ISNULL(IM.intInvID,0) >= 0
end