Задать вопрос
@seredaes

Как выбрать из одной таблицы с условием из второй?

Вопрос примитивный, но что-то я с ним застрял :(

Первая таблица с пользователями:
| id | name |
| 1 | User1 |
| 2 | User2 |

Вторая таблица с автомобилями пользователя:
| id | user_id | car |
| 1 | 1 | AUDI |
| 2 | 1 | AUDI |
| 3 | 2 | AUDI |

Если автомобиль не задан, выбрать только пользователей.
Если задан, например AUDI, то выводит 3 раза пользователей:
два раза первого пользователя и 1 раз второго. Запрос такой:
SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.id=tab2.user_id

И вроде как все правильно. Но как мне выводить пользователя только один раз?
Я вижу решение в добавлении вместо * - DISTINCT tab1.id

Но может есть более красивое решение?
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
@IceJOKER
Web/Android developer
GROUP BY users.id ?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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