2013-07-19 2 views
0
Location table 
----------------------------------------------- 
|location.id|country.id|state.id|city.id| 

Country 
----------------------------------------------- 
|country.id|country| 

State 
----------------------------------------------- 
|state.id|state| 

City 
----------------------------------------------- 
|city.id|city| 

Теперь у меня есть location.id, мне нужно получить страну, город, имена штатов сразу из location.id.Как получить данные из 3 таблиц в mysql?

Нужна помощь с Sql запроса, чтобы решить эту

+1

Какие запросы вы уже пробовали? – DevlshOne

+1

http://bit.ly/1984E5m – zod

+2

Вопросы с запросом кода должны демонстрировать минимальное понимание решаемой проблемы. Включите попытки решения, почему они не работают и ожидаемые результаты. См. Также: [Контрольный список вопросов переполнения стека] (http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) – showdev

ответ

1

Это проверялось, но вы можете попробовать что-то вроде этого, и посмотреть inner joins

select * from locations 
inner join Country on `Country`.`country.id` = locations.`country.id` 
inner join State on `State`.`state.id` = locations.`state.id` 
inner join City on `City`.`city.id` = locations.`city.id` 
+0

Спасибо, что он работает! – zerocool

+0

Эй, @rshaik, вы должны отметить это как ответ! – slackmart

+0

Я сделал bro :) Спасибо за помощь! – zerocool

0
SELECT location.id, city.city, state.state,country.country 
FROM location,city,state,country 
WHERE location.country_id = country.id 
AND location.city_id = city.id 
AND location.state_id = state.id 
0

Это должно работать также:

SELECT Country.country, City.city, State.state 
FROM Location, Country, City, State 
WHERE Location.idCity = City.id AND Location.idState = State.id 
AND Location.idCountry = Country.id 
+0

Обратите внимание, что ваши поля в таблице не содержат точек – slackmart

+0

ya sorry, у меня был знак подчеркивания в таблице, набрал его неправильно здесь :) спасибо – zerocool