在sql上嵌套选择

时间:2016-10-20 20:50:49

标签: sql

我在数据库上有这个结构(确实是糟糕的结构)

国家

  

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)。

2 个答案:

答案 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