我有一个表main_cohort
,其中有两个不同的列,其中包含3位和5位数字(例如100或10017),zip_value3
和zip_value5
的邮政编码,并且I想要与另一个具有这些相同列的表zip_codes
和一个附加列city_name
联接在一起,该表具有与每个邮政编码关联的城市的文本字符串。
我想用第二个表上的城市名称替换第一个表上的数值。因此,举例来说,如果我在“ main_cohort”中有一个“ zip_value3”为100的customer_id,我想用city_name
表中zip_code
的值替换输出中的那个将是纽约。
答案 0 :(得分:0)
#表格-tbl_MainCohort #
CustomerID Zip_Value3 Zip_Value5
1 100 10000
2 200 20000
表格-tbl_ZipCodes
ZipID Zip_Value3 Zip_Value5城市名称
1 100 10000 New York
2 200 20000 California
以下查询将为您提供列表中所有两个邮政编码都匹配的列表中所有邮政编码的所有城市。
从tbl_ZipCodes代码中选择City_Name INNER JOIN tbl_MainCohort主要开启代码。Zip_Value3= main.Zip_Value3 AND代码。Zip_Value5= main.Zip_Value5
答案 1 :(得分:0)
我想您想要一个城市,首先检查5位数的邮政编码,然后再检查3位数的邮政编码:
select mc.*, coalesce(zc5.city_name, zc3.city_name) as city_name
from main_cohort mc left join
zip_code zc5
on mc.zip_value5 = zc5.zip_code left join
zip_code zc3
on mc.zip_value3 = zc3.zip_code