我有一個儲存國家,省市的表格位置。 我想通過它的id搜索一個城市;我也能看到它的省份和國家!我嘗試了太多,但我真的不知道我需要寫什麼確切的查詢。如何在MySQL中一起連接三個表?
我的表名的位置,這些都是我的領域與示例數據:
id enName localName type in_location
1 Iran ایران country 0
2 Fars فارس province 1
3 shiraz شیراز city 2
4 marvdasht مرو دشت city 2
我想,當我搜索ID = 3得到這個結果:
國家/省/市
伊朗/法爾斯/西拉
我怎麼能寫e這個查詢?我知道我必須加入桌子3次,但不知道到底是怎麼做的。
我曾嘗試代碼:
SELECT
in_location ,
enName
FROM
location
WHERE
id = 12321 as a
INNER JOIN
SELECT
*
FROM
`fzxit_location` as b
on a.in_location = b.id
MySQL不具有任何功能做分層查詢。但是,如果預定義層次結構級別,則可以實現此目的。更簡單的方法是在PHP上編寫遞歸函數以實現您正在嘗試的操作。 –
您的查詢失敗了關係數據庫的用途,同一個表中的行不應直接相關。 – zoubida13
你爲什麼想要內連接同一張表? – NuttLoose