Combine data bases on parameters

I have this sp below...if one of the fields is not null, all data is returned based on that parameter. If 2 parameters are not null, then only data fitting those non null parameters should eb returned and if 3 parameters, etc...as above with 2.  What I'm getting is data for only one parameter even when I input 2.  

If then statement?

Thx

ALTER PROCEDURE [dbo].[usp_getPOC1]

@UserID int = NULL,
@CenterID int = 1,
@ProjectID int = 1

AS

SELECT c.Center_Desc, p.Project, u.UserID, r.Last_Name, r.First_Name, r.Office_Phone, u.User_Email from dbo.tbl_User u
Join dbo.tbl_Registration r on u.UserID = r.UserID, dbo.LU_Center_Site c, dbo.LU_Project p
Where
@UserID is not null and @UserID = u.UserID and u.POC = '1' or
@CenterID is not NULL and @CenterID = c.CenterID or
@ProjectID is not null and @ProjectID = p.ProjectID
ORDER BY r.Last_Name
Glen_DAsked:
Who is Participating?
 
Daniel WilsonConnect With a Mentor Commented:
try this:


ALTER PROCEDURE [dbo].[usp_getPOC1]
 
@UserID int = NULL,
@CenterID int = 1,
@ProjectID int = 1
 
AS
 
SELECT c.Center_Desc, p.Project, u.UserID, r.Last_Name, r.First_Name, r.Office_Phone, u.User_Email from dbo.tbl_User u
Join dbo.tbl_Registration r on u.UserID = r.UserID, dbo.LU_Center_Site c, dbo.LU_Project p
Where u.POC = '1' AND --this always requires u.POC to = '1' -- which I think is what you mean.
(@UserID is null OR @UserID = u.UserID) and 
( @CenterID is NULL OR @CenterID = c.CenterID) AND
(@ProjectID is null OR @ProjectID = p.ProjectID)
ORDER BY r.Last_Name

Open in new window

0
 
Glen_DAuthor Commented:
Perfect...thx Much  Glen
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.