Оператор Sql CASE не работает
Я связываюсь, чтобы сделать спортивный выбор НФЛ весь бассейн. Пользователи выбирают победителя из каждой игры. Я пытаюсь написать хранимую процедуру, которая будет показывать результаты выбора пользователей и если там выбор правильный или неправильный. Я использую
CASE
но это, очевидно, не работает. Когда я показываю эту процедуру на своем сайте, только первые результаты игры являются правильными. Я не уверен, что это лучший способ сделать это, или если я должен использовать другой запрос, кроме
CASE
чтобы получить то, что я ищу. Моя таблица UserPicks собирает все выборы от пользователя. Мой
WonLost
таблица содержит название команды, выигравшей игру(GameResults_1 и т. д.). Заранее спасибо за любую помощь.
Что я уже пробовал:
SELECT UserPicks.FullName, UserPicks.Game_1, UserPicks.Game_2, UserPicks.Game_3, UserPicks.Game_4, UserPicks.Game_5, WonLost.GameResults_1, WonLost.GameResults_2, WonLost.GameResults_3, WonLost.GameResults_4, WonLost.GameResults_5, ( CASE WHEN UserPicks.Game_1 = WonLost.GameResults_1 THEN 'Won' WHEN UserPicks.Game_2 = WonLost.GameResults_2 THEN 'Won' WHEN UserPicks.Game_3 = WonLost.GameResults_3 THEN 'Won' WHEN UserPicks.Game_4 = WonLost.GameResults_4 THEN 'Won' WHEN UserPicks.Game_5 = WonLost.GameResults_5 THEN 'Won' ELSE 'Lost' END ) AS Results FROM UserPicks JOIN WonLost ON UserPicks.Week = WonLost.Week WHERE WonLost.Week = 'Week1'
Santosh kumar Pithani
Ваше утверждение о случае не ясно, я имею в виду, что более одного условия случая истинно.Вам нужно написать например:"корпус
КОГДА (
(UserPicks.Game_1 = WonLost.GameResults_1) или
(UserPicks.Game_2 = WonLost.GameResults_2)
)
ТОГДА "ВЫИГРАЛ" ИЛИ "ПРОИГРАЛ" КОНЕЦ"
Commish13
Это утверждение приводит к тем же результатам. Когда первая игра верна, она также показывает, что остальные игры верны, даже если некоторые другие игры неверны. То же самое если первая игра неверна то она отображает остальные игры неверно