2015-10-18 149 views
0

我下载了世界上几乎所有国家和城市的数据库表。如何合并城市和国家

该表显示这样的:

LOCATION_ID - >名称 - > LOCATION_TYPE - > PARENT_ID

LOCATION_TYPE是位置的类型,0等于国家,1等于市。

parent_id是位置是城市时的国家/地区的ID。

而且我想为用户像显示数据:

城,国名。使用JSON

Ex: Lisbon, Portugal 

和打印你们能帮助我建立这个查询?

我的查询:

$locations = mysqli_query($con, "SELECT name, location_id, parent_id FROM location WHERE location_type = 1 "); 
$locarray = array(); 

while ($row = mysqli_fetch_assoc($locations)) 
    { 
    $locarray[] = $row; 
    } 

正如你所看到的,我只显示城市,我想远离城市的PARENT_ID,并从那里这个城市所处国家打印名称。

谢谢。

+1

加盟将帮助您 – vladkras

+1

您可以编辑您的问题,并添加表结构也? – zedfoxus

+0

您的表格过多,如果记录具有parent_id,则表示该城市,则不需要地点类型 – vladkras

回答

1

试试这个

SELECT c2.name,c1.name, c1.location_id, c1.parent_id 
FROM 
location c1 join location c2 on c1.`parent_id`=c2.`location_id` 
WHERE c1.location_type = 1 
相关问题