В настоящее время у меня есть вывод, который заполняет таблицу. Один из результатов, которые он дает, - это год со стола ученика. Всякий раз, когда 6 выводится как год, мне нужно вернуть L6, а когда 7 выводится, мне нужен U6. Я сделал попытку ниже:
"$stmt = $conn->prepare(
"SELECT st.Name AS student, st.House AS house, T1.Name AS T1, T2.Name AS T2, T3.Name AS T3
CASE
WHEN st.Year = 6 THEN 'L6'
WHEN st.Year = 7 THEN 'U6'
ELSE st.Year
END CASE as year
From Students AS st INNER JOIN Student_Choices AS sc
ON st.Username = sc.Username INNER JOIN Current_DB AS db
ON sc.DB_year = db.DB
INNER JOIN Choices AS c1
ON sc.T1_Choice = c1.Choice_ID
INNER JOIN Sports AS T1
ON c1.Sport_ID = T1.Sport_ID
INNER JOIN Choices AS c2
ON sc.T2_Choice = c2.Choice_ID
INNER JOIN Sports AS T2
ON c2.Sport_ID = T2.Sport_ID
INNER JOIN Choices AS c3
ON sc.T3_Choice = c3.Choice_ID
INNER JOIN Sports AS T3
ON c3.Sport_ID = T3.Sport_ID
");
Я тогда получаю ошибку:
errorSQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 В синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса, который можно использовать около 'CASE WHEN st.Year = 6 THEN' L6 'WHEN st.' в строке 2
Любое решение было бы здорово, спасибо.