@miloh31835

MySQL, как с помощью скалярных подзапросов вывести поля из разных таблиц?

Как мне вывести количество полётов и имя человека, если они находятся в разных таблицах?
1 задание для самопроверки
Объединять таблицы нельзя

Вот само задание
5ff9c35b06899805813285.png

Это схема БД
5ff9c3969068a520688805.png
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
А если пассажир зарегистрировался, но не покупал билетов?
А если у нескольких пассажиров совпадают имена?

Вот так это можно сделать с объединением таблиц:
SELECT COUNT(pit.id) AS count, MAX(p.name) AS name
FROM Passenger AS p
LEFT JOIN Pass_in_trip AS pit ON p.id = pit.passenger
GROUP BY p.id

А вот так без объединения, в вложенным запросом:
SELECT (SELECT COUNT(pit.id) FROM Pass_in_trip AS pit WHERE p.id = pit.passenger) AS count, p.name
FROM Passenger AS p
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@galaxy
Тема "Вложенные SQL запросы" ни о чем не говорит?
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
в чем смысл копипасты в данном случае? включайте мозг

ошибка в неучтенных тезках.
Ответ написан
Ваш ответ на вопрос

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

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