嗨我有这样的表结构。
表
**geoinfo**
id
name
desc
我有桌子
**zip_to_city**
id,
zip_id fk geoinfo
city_id fk geoinfo
比我还有
**zip_to_state**
id
zip_id fk geoinfo
state_id fk geoinfo
我想查询,以便我能够获得各自城市和州的每个拉链。我不想要id,我想要这个名字。 geoinfo是包含每个geoinfo的名称和描述的主表。
最好的查询是什么?
答案 0 :(得分:0)
如果我正确理解你的表格,我认为这是:
SELECT zip_to_city.city_id,zip_to_state.state_id FROM geoinfo
INNER JOIN zip_to_city ON geoinfo.id=zip_to_city.id
INNER JOIN zip_to_state ON geoinfo.id=zip_to_state=id where geoinfo.id='some value'
答案 1 :(得分:0)
SELECT city_geo.geography_name as city,state_geo.geography_name as state, zip_geo.geography_name as postalCode
FROM zip_to_city zc, zip_to_state zs,
geoinfo city_geo, geoinfo state_geo, geoinfo zip_geo
where zc.city_id = city_geo.id
AND state_geo.id= zs.state_id
AND zip_geo.id = zc.zip_id
AND zip_geo.id = zs.zip_id
AND zip_geo.name = ?
这适合我并获得我想要的东西。