我有三个表:

zip_code_data
|zipCodeId| primary key
|zipCode| indexed
|other columns...|

location_data
|locationDataId| primary key
|city| indexed
|other columns...|

x_data
|id| primary key
|zipCodeId| foreign key
|locationDataId| foreign key


我的目标是针对邮政编码或城市运行查询,并从zip_code_data和location_data表中获取与之关联的所有数据
例如,如果用户搜索一个邮政编码,我想从两个表中拉回与该邮政编码相关的所有数据。

我的第一个猜测是首先从交叉表中获取外键(x_data,下面的示例),然后使用这些外键从各个表中获取数据...由于我是新手,所以我不知道最好的方法。

SELECT x_data.zipCodeId, x_data.locationDataId
FROM x_data
INNER JOIN zip_code_data
ON x_data.zipCodeId=zip_code_data.zipCodeId
WHERE zip_code_data.zipCode LIKE '2322%'

最佳答案

我正要发布:

SELECT zip.*,loc.*
FROM x_data xref
JOIN zip_code_data zip ON zip.zipCodeId=xref.zipCodeID
JOIN location_Data loc ON loc.locationDataID=xRef.locationDataID
WHERE zip.zipCode LIKE '2322%' or loc.city LIKE '%aaa%'


但看起来您已经掌握了...

09-11 22:08