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
 
     
     
    