I have a 'search' stored proc. and I cannot get the 'If-Else' part of this 'WHERE' clause to work. What is wrong with this syntax? I'm trying to use the If-Else to determine which subquery to use to dynamically retrieve a User.UserID to plug into the outer query. How do I successfully built the SQL string?
SET @WHERE3 = 'AND
(select Users.ZipCode from Users
INNER JOIN TripsUsers on Users.UserID = TripsUsers.UserID
INNER JOIN Trips on Trips.TripID = TripsUsers.TripID
where TripsUsers.UserID =
If (select count(*) from TripsUsers where TripsUsers.TripID=Trips.TripID and IsDriver=1) > 0
(select UserID from TripsUsers where TripsUsers.TripID=Trips.TripID and IsDriver=1)
Else
(Select TOP 1 UserID from TripsUsers where TripsUsers.TripID=Trips.TripID)
SET @WHERE3 = 'AND
(select Users.ZipCode from Users
INNER JOIN TripsUsers on Users.UserID = TripsUsers.UserID
INNER JOIN Trips on Trips.TripID = TripsUsers.TripID
where TripsUsers.UserID =
If (select count(*) from TripsUsers where TripsUsers.TripID=Trips.TripID and IsDriver=1) > 0
(select UserID from TripsUsers where TripsUsers.TripID=Trips.TripID and IsDriver=1)
Else
(Select TOP 1 UserID from TripsUsers where TripsUsers.TripID=Trips.TripID)