我在数据库上有这个结构(确实是糟糕的结构)
国家
id_country | desc_country
区域
id_region | id_country | desc_region
市
id_city | id_region | desc_city
员工
id_city | nom |猿
如果可以,我可以在一个sql选择中从Employee的id_city恢复所有员工及其各自的描述(desc_country,desc_region,desc_city)。
答案 0 :(得分:0)
看起来你只需要对每个人进行联接:
SELECT e.nom, ct.desc_country, r.desc_region, c.desc_city
FROM Employee AS e
INNER JOIN City as c
ON e.id_city = c.id_city
INNER JOIN Region as r
ON c.id_region = r.id_region
INNER JOIN Country as ct
ON ct.id_country = r.id_country
答案 1 :(得分:0)
这应该有效
SELECT cy.id_country, cy.desc_country, r.id_region, r.id_country, r.desc_region, ct.id_city, ct.id_region, ct. desc_city, e.id_city, e.nom, e.ape
FROM Employee AS e
JOIN City AS ct
ON e.id_city=ct.id_city
JOIN Region AS r
ON ct.id_region=r.id_region
JOIN Country AS cy
ON r.id_country=cy.id_country