@inververs

Можно ли в запросе извлечь данные из 2 одинаковых таблиц, где первая таблица — значения по умолчанию для второй?

Если в первой таблице у меня значения по умолчанию, а во второй - реальные данные, то как мне составить запрос, что если данные из второй таблицы отсутствуют (пустые) или null, то подменять данными из первой таблицы?
2e996f3380794cf8ab9644683c91c3b3.pngbb11a6d7ebdd46168b151fc2967a9d66.png
Вот пример, таблица a - три "свойства", значения по умолчанию для них 8
Таблица б - уже "свойства" для каждого user_id, тут для user_id = 1 свойства 1 и 2 неопределены, null.
Как составить запрос так, что бы вместо null значения этих свойств были = 8?
И еще, для user_id = 3 которого тоже нет в таблице, как вывести все свойства? (т.к его нету, то все три свойства должны быть равны 8).
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
miraage
@miraage
Старый прогер
Я в SQL не силен, но, полагаю, что-то такое (DEMO):

SELECT 
  b.id, b.a_id, b.user_id,
  IFNULL(b.show, a.show) AS `show`,
  IFNULL(b.active, a.active) AS `active`
FROM b
LEFT JOIN a ON b.a_id = a.id
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
thewind
@thewind
php программист, front / backend developer
Ваш ответ на вопрос

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

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