與簡單地兩列創建PropertyAmenity表:
property_id
amenity_id
主鍵既要PROPERTY_ID和amenity_id的複合物。您可能還想添加一個user_id和update_date字段,審計很重要。
這將允許您將屬性關聯到許多設施。
外鍵關係應該之間:
Properties.property_id and PropertyAmentity.property_id
Amentities.amenity_id and PropertyAmenity.amenity_id
實施例:
Property:
property_id address city
100 Property 1 St. NY
101 Property 2 St. NY
Amenity:
amenity_id amenity_name
100 Central Air
200 Swimming Pool
PropertyAmenity
property_id amenity_id
100 100
100 200
101 100
在上述例子中,屬性1具有兩個中央空氣和游泳池,而屬性2具有隻是中央空調。
要選擇的設施爲一個給定的屬性,你可以寫SQL這樣的:
Select a.* from Property p, PropertyAmenity pa, Amenity a
where p.property_id = pa.property_id
and pa.amenity_id = a.amenity_id
and p.property_id = 100
+1只是輸入相同的答案:) – vascowhite
首先,感謝您的幫助! 我有點理解你在說什麼,但我很難想象它的一切。請給我看一個具有不同表格的值的例子,這樣我就可以看到它們是如何相互關聯的?此外,什麼是需要選擇所有設施的特定屬性的SQL語句?我不完全理解你提供的代碼示例。 – zeckdude
@zeckdude,我用例子更新了我的帖子。 – mike01010