问候!我在创建引用多个表的查询时遇到困难。我是SQL新手,联接困扰着我。我瞎了Google的搜索范围后,发现Joining tables in SQL让我更接近我想成为的地方!我创建的查询没有做我想要的。我有两个表:MySQL多表查询
disp_profile
disp_id* name address zip
0001 Profile1 SomeAddress1 11111
0002 Profile2 SomeAddress2 22222
0003 Profile3 SomeAddress3 33333
zipcode
zip_code* state city county
11111 CA City1 County1
22222 WA City2 County2
33333 NV City3 County3
什么,我试图做的是从邮政编码抢市,州,县当zipcode.zip = disp_profile.zip(由变量State过滤)。理想的情况下返回是这样的:
dispId dispName dispAddress dispZip zipState zipCounty zipCity zipCode
001 Profile1 SomeAddress1 11111 CA County1 City1 11111
or
002 Profile2 SomeAddress2 22222 WA County2 City2 22222
SELECT
dp.disp_id AS dispId, dp.name AS dispName, dp.address1 AS dispAddress1, dp.zip AS dispZip, zc.state AS zipState, zc.county AS zipCounty, zc.city AS zipCity, zc.zip_code AS zipCode
FROM
disp_profile dp
INNER JOIN
zipcodes zc
ON
dp.zip = zc.zip_code
WHERE
dp.state = 'CA'
我知道这可能不是去了解这一点的最好方式,但我认为最好单独存放东西VS每个项目的冗余信息。 disp_profile中的数据集大约有1000条记录,zip_codes大约为30,000条。使用子查询可以更轻松地完成这项工作吗?谢谢你的时间!
你的输出似乎很好!我不确定什么是错误,你想要什么结果? – rkg 2011-03-21 07:59:01