Hey Guys,
I have a huge statement loads of if statements in... and its getting bigger.
On closer inspection there is only 3 difference in the select statement. so I thought I could cut the whole thing down to just 1 select statement if I have a conditional Having.
I've simplified the IF statement down a bit to give you an idea of what im trying to achieve
But how would i turn that into a conditional HAVING.... I thought the below would workCode:IF @month <> 0 & @diffFuture = 0 & @showDate <> 0 HAVING (events.eventID = @eventID) AND (events.enabled = 1) AND (MONTH(tickets_1.ticketStartDate) = MONTH(GETDATE())) AND (YEAR(tickets_1.ticketStartDate) = YEAR(GETDATE())) IF @month <> 0 & @diffFuture <> 0 & @showDate <> 0 HAVING (events.eventID = @eventID) AND (events.enabled = 1) AND (DATEPART(MONTH,tickets_1.ticketStartDate) = MONTH(@start)) AND (DATEPART(YEAR,tickets_1.ticketStartDate) = YEAR(@start)) ELSE HAVING (events.eventID = @eventID) AND (events.enabled = 1) AND (DATEPART(MONTH,tickets_1.ticketStartDate) = @month) AND (DATEPART(YEAR,tickets_1.ticketStartDate) = @year)
Any ideas?Code:HAVING (events.eventID = @eventID) AND (events.enabled = 1) CASE WHEN @month <> 0 & @diffFuture = 0 & @showDate <> 0 THEN (MONTH(tickets_1.ticketStartDate) = MONTH(GETDATE())) AND (YEAR(tickets_1.ticketStartDate) = YEAR(GETDATE())) WHEN... END
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks