@T3R3AND

Как вывести значение в запросе если нет данных в базе?

Здравствуйте! Есть таблица likes, два id = 1, 45(например). Как правильно составить запрос чтобы если одного из пользователей не найдено в таблице выводило 0, при этом получаем значение столбца like? Я понимаю что это примерно ifnull (на сколько я знаю) + left join
Результат:
user1 | user2
0 | 3
  • Вопрос задан
  • 104 просмотра
Решения вопроса 2
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Всегда рад помочь:
select 
	user_name,
	coalesce(likes, 0) likes
from users
left join likes on likes.user_id = users.id;


SQL запрос
Ответ написан
@Vitsliputsli
Если я правильно понял, то вам нужен pivot. В MySQL специальной функции для этого нет, но можно так:
select 
        max(case when id=1 then `like` end) user1,
        max(case when id=45 then `like` end) user2
    from `likes` 
    where id in (1,45)
    group by ''

но лучше так не делать, просто заберите данные, в приложении это сделать будет проще и нагляднее.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы