@Alex09032024

Как правильно решить задачу?

Таблица имен пользователей:
name, id
Андрей, id
Сережа, id
Руслан, id

Таблица возрастов пользователей:
возраст, id
18, id
31, id
24, id

Скрипт (с ошибкой)
select *
from names n
left join years y on n.id = y.id
where n.name = 'Андрей'

Задача: составить скрипт так, чтобы в результате получить список всех пользователей с проставленным возрастом для каждого Андрея
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Vitsliputsli
select
    names.id,
    names.name,
    ages.age
from names
left join ages on names.id=ages.id and names.name='Андрей'
Ответ написан
Комментировать
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Попробуйте так (возможно, что ваша ошибка - это условный ambiguous name и проблема в том, что при выводе в результирующую таблицу у вас попадает поле id, которое есть в двух соединяющихся таблицах):
SELECT 
    l.name AS name,
    l.id AS id,
    r.age AS age 
FROM 
    (
    SELECT DISTINCT 
        name, id 
    FROM 
        names 
    WHERE 
        name = 'Андрей' 
    ) AS l
    LEFT JOIN 
    ages AS r 
    ON 
    l.id = r.id
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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