我有一张表格,其中包含以下扁平信息:
TRACT, ZIP, CITY, County, States
从右到左坐标为每列的一对多关系:1个Zip中的多个Tracts,一个城市中的多个Zips,一个县中的许多城市等等。
我的目标:我有一个Zip。使用这个Zip,我需要这个Zip所在县的所有Zips(包含)。所以从Zip获取县然后在县里要求所有的Zips。
我的问题:因为表是扁平的并且是非规范化的,所以我遇到了DISTINCT的问题,这会增加查询表的时间,否则会导致多个Zips副本(引用非规范化)。
有没有人知道如何一起抓住这个?
值得注意的是,在我向其添加DISTINCT之前,此查询运行速度过快:
Select ZIP
JOIN REF_GEOGRAPHY R on G.ZIP = R.Zip
and R.Zip in (
Select Zip from REF_GEOGRAPHY Where County_Key in (
Select County_Key from REF_GEOGRAPHY where Zip = 70503
)
)
感谢。
答案 0 :(得分:0)
我相信这是最好的方法,假设每个Zip只存在于一个县。
distinct
除非您想要重复结果,否则您需要{{1}}。