Каков запрос для получения местоположения пользователя из этой схемы базы данных? - PullRequest
1 голос
/ 05 апреля 2020

У меня есть 4 таблицы - ПОЛЬЗОВАТЕЛИ, ГОРОДА, ГОСУДАРСТВА, СТРАНЫ

USERS( user_id, email, password, name, location(FK) [references city_id] )

CITIES( city_id, name, state_id(FK), country_id(FK) ) 

STATES( state_id, name, country_id(FK) )

COUNTRIES( country_id, name )

Я хочу выбрать имя пользователя с полным местоположением (например, ADAM Нью-Дели, Дели, Индия)

Каков оптимальный запрос для этого?

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

Если в вопросе нет ключей или чего-то еще, это тривиальное соединение:

SELECT u.name, c.name, s.name, co.name 
FROM USERS u
JOIN CITIES c ON (u.city_id=c.city_id)
JOIN STATES s ON (s.state_id=c.state_id)
JOIN COUNTRIES co ON (co.country_id=s.country_id);
1 голос
/ 05 апреля 2020

Попробуйте этот скрипт ниже

SELECT A.name USERS,
B.name CITIES,
C.name STATES,
D.name COUNTRIES
FROM USERS A
INNER JOIN CITIES B ON A.location = B.city_id
INNER JOIN STATES C ON B.state_id = C.state_id
INNER JOIN COUNTRIES D ON C.country_id = D.country_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...