我有三個表:SQL:跨表的外鍵到兩個不同的表
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%'
感謝您的快速回復。實際上,在你發佈這個消息之前,我已經找到了另一種方式。 – Sababado
SELECT zip_code_data。*,location_data。* FROM x_data INNER JOIN zip_code_data ON x_data.zipCodeData_Id = zip_code_data.zipCodeId INNER JOIN location_data ON x_data.locationData_Id = location_data.locationDataId 其中zip_code_data.zipCode像 '23221%' – Sababado