Допустим есть табличка с людьми
И есть табличка с их возрастами
То есть для Маши(4) значения возраста нет, и мы хотим, чтобы тогда по-умолчанию считалось, что ей 18. И как бы сделать left join , а потом orderby по возрасту, чтобы это учитывалось, и выводилось не
а
Интересно решение на чистом sql, и на php laravel
select u.id,
ifnull(a.age, 18) as user_age,
u.name
from user u
left join age a on u.id = a.id
order by user_age
Для реализации на php laravel почитайте доки, где всё подробно расписано.
На чистом SQL думаю примерно так
SELECT
`U`.`id` as `user_id`,
`U`.`name` as `name`,
IF(`A`.`age` = NULL, 18, `A`.`age`) as `age`
FROM `users` as `U`
JOIN `age` as `A`
ON `U`.`id` = `A`.`User_id`
ORDER BY age
Eloquent
$users = DB::table('users')
->join('age', 'users.id', '=', 'age.user_id')
->select('users.*', DB::raw('IF(A.age = NULL, 18, A.age) as age'))
->orderBy('age', 'desc')
->get();
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости