[英]Left Join inside the same table SQL
SELECT
`_conf_cities`.`cityid`,
`_conf_cities`.`countryid`,
`_conf_cities`.`name_mkd`,
`_conf_cities`.`child_municipality`,
`_conf_cities`.`parent`,
`conf_countries`.`countryid`,
`conf_countries`.`alpha2`
FROM `_conf_cities`
LEFT JOIN `conf_countries` ON `_conf_cities`.`countryid` = `conf_countries`.`countryid`
LEFT JOIN `_conf_cities` ON `_conf_cities`.`cityid` = `_conf_cities`.`parent`
WHERE `_conf_cities`.`child_municipality` = '0'
當我嘗試將出現問題LEFT JOIN
_conf_cities
本身。
可以用其他方式做到嗎?
您必須使用別名,例如:
SELECT
_conf_cities.cityid,
_conf_cities.countryid,
_conf_cities.name_mkd,
_conf_cities.child_municipality,
_conf_cities.parent,
conf_countries.countryid,
conf_countries.alpha2,
t2.cityid -- Now you can use alias
FROM _conf_cities
LEFT JOIN conf_countries ON _conf_cities.countryid = conf_countries.countryid
LEFT JOIN _conf_cities AS t2 ON _conf_cities.cityid = t2.parent
WHERE
_conf_cities.child_municipality = '0'
AND t2.child_municipality = '0' -- Also you can use alias here
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.