A good suggestions and it's getting close but pulling too many records...SELECT A.UIC, A.CustID, A.UPDATEDON, A.UPDATEACTION, CASE WHEN (SELECT B.CLOSED WHERE B.CLOSED = 0 AND C.CustID = A.CustID) IS NULL THEN 'YES' ELSE 'NO' END AS DOMODFROM CustInfo AINNER JOIN MR C ON A.CustID = C.CustID INNER JOIN FDS B ON C.B_ID = B.B_IDWHERE (COMMAND = @Command OR @Command = '') AND (RSC = @RSC OR @RSC = '') AND (UIC LIKE '%' + @UIC + '%' OR @UIC = '')
This is the original sproc I inherited and wanted to search on all params and clean it up and I'm sure you can see why.........IF @VALUE1 = 'A' BEGIN SELECT A.UIC, COUNT(*) as [NUMREQ] INTO #TEMPC FROM CustInfo A INNER JOIN MR C ON A.CustID = C.CustID JOIN SDB_3C B ON C.B_ID = B.B_ID WHERE B.CLOSED = 0 AND A.COMMAND = @VALUE2 GROUP BY A.UIC SELECT CustID , COMMAND , UIC , UPDATEACTION INTO #TEMPC1 FROM CustInfo WHERE COMMAND = @VALUE2 ALTER TABLE #TEMPC1 ADD DOMOD CHAR(3) UPDATE #TEMPC1 SET DOMOD = 'NO' WHERE UIC IN (SELECT UIC FROM #TEMPC) UPDATE #TEMPC1 SET DOMOD = 'YES' WHERE DOMOD IS NULL SELECT * FROM #TEMPC1 DROP TABLE #TEMPC1 DROP TABLE #TEMPC ENDIF @VALUE1 = 'B' --RSC SEARCH BEGIN SELECT A.UIC , COUNT(*) as [NUMREQ] INTO #TEMP FROM CustInfo A INNER JOIN MR C ON A.CustID = C.CustID JOIN SDB_3C B ON C.B_ID = B.B_ID WHERE B.CLOSED = 0 AND A.RSC = @VALUE2 GROUP BY A.UIC SELECT CustID , COMMAND , UIC , UPDATEACTION INTO #TEMP1 FROM CustInfo WHERE RSC = @VALUE2 ALTER TABLE #TEMP1 ADD DOMOD CHAR(3) UPDATE #TEMP1 SET DOMOD = 'NO' WHERE UIC IN (SELECT UIC FROM #TEMP) UPDATE #TEMP1 SET DOMOD = 'YES' WHERE DOMOD IS NULL SELECT * FROM #TEMP1 DROP TABLE #TEMP1 DROP TABLE #TEMP END IF @VALUE1 = 'C' BEGIN SELECT A.UIC , COUNT(*) as [NUMREQ] INTO #TEMPU FROM CustInfo A INNER JOIN MR C ON A.CustID = C.CustID INNER JOIN SDB_3C B ON C.B_ID = B.B_ID WHERE B.CLOSED = 0 AND UIC LIKE '%' + @VALUE2 + '%' GROUP BY A.UIC SELECT CustID , COMMAND , UIC , UPDATEACTION INTO #TEMPU1 FROM CustInfo WHERE UIC LIKE '%' + @VALUE2 + '%' ALTER TABLE #TEMPU1 ADD DOMOD CHAR(3) UPDATE #TEMPU1 SET DOMOD = 'NO' WHERE UIC IN (SELECT UIC FROM #TEMPU) UPDATE #TEMPU1 SET DOMOD = 'YES' WHERE DOMOD IS NULL SELECT * FROM #TEMPU1 DROP TABLE #TEMPU1 DROP TABLE #TEMPU END