@vetsmen

SQL запрос с if/else?

Есть 2 таблицы:
1) Quests {id - идентификатор; title, prize - определенная информация}
2) QuestsActive {questid - идентификатор верхней таблицы, userid - идентификатор пользователя}
Нужно составить такой SQL запрос:

Если найдены пересечения таблицы Quests и QuestsActive (то есть если Quests.id = QuestsActive.questid при заданном QuestsActive.userid), то создаем колонку и добавляем туда 1, если пересечений не найдено, то создаем колонку и добавляем туда 0;
На выдаче я должен получить все записи из таблицы Quests с title, prize и новой колонкой со значениями 0/1
Как я могу это сделать?
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Не совсем понял про "создание столбца", но вот запрос, который выведет необходимую информацию:
SELECT Quests.*, CASE WHEN ActiveQuests.Id > 0 THEN 1 ELSE 0) AS isActive
FROM Quests
LEFT JOIN ActiveQuests ON Quests.Id = ActiveQuests.Id AND ActiveQuests.UserLogin = 'user'
ORDER BY Quests.Id
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
case
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы