我有三个表:
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%'
但看起来您已经掌握了...