@tolsor

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

Нужно вывести полный адрес студента Петрова (регион, город, улица, дом и квартира).
Я могу вывести один столбец, например «Регион», как в следующем запросе. А как вывести за ним остальные?
SELECT `nazvanie` AS 'Регион' 
FROM `region` 
WHERE `kod_region` = ( SELECT `kod_region` FROM `gorod` WHERE `kod_gorod` 
                                 = ( SELECT `kod_gorod` FROM `ulica` WHERE `kod_ulica` 
                                 = ( SELECT `kod_ulica` FROM `dannie` WHERE `fam` = 'Петров')))

Схема базы данных:
5af244b6725f7207421974.png
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
@Sumor
Попробуйте как-то так:
SELECT `nazvanie` ,  `gorod`,  `ulica` 
FROM  `dannie` as D LEFT JOIN `ulica` as U  on D.`kod_ulica` = U.`kod_ulica`
                    LEFT JOIN `gorod` as G  on U.`kod_gorod` = G.`kod_gorod`
                    LEFT JOIN `region` as R  on G.`kod_region` = R.`kod_region`

Но, возможно, будет лучше иметь одну таблицу адреса, с колонками: код региона, код города, код улицы, чтобы не склеивать таблицы на ходу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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