Próbuję dodać case lub instrukcję w klauzuli where mojego zapytania SQL.
Mam tabelę czasów przejazdu z datą początkową i końcową oraz polem boolowskim dla każdego dnia, aby wskazać miejsce podróży w danym dniu. Oto co mam tak daleko, ale jestem coraz nieprawidłowe błędy składni:case statement w klauzuli Where - SQL Server
declare @date datetime
set @Date = '05/04/2012'
declare @day nvarchar(50)
set @day = 'Monday'
Select * From Times
WHERE (StartDate <= @Date) AND (EndDate >= @Date)
CASE WHEN @day = 'Monday' THEN
AND (Monday = 1)
WHEN @day = 'Tuesday' THEN
AND (Tuesday = 1)
ELSE
AND (Wednesday = 1)
END
Wygląda mi się, jeśli masz problem z projektu na stole, nie ma tak powinno kiedykolwiek kolumny Poniedziałek, wtorek, środa, itd. Możesz wyświetlać dzienną kolumnę i wypełniać ją wybranym dniem lub wartością numeryczną, która jest odnośnikiem do dnia, w którym chcesz. Jeśli obowiązuje więcej niż jeden dzień, użyj odpowiedniej tabeli. – HLGEM