使用多个列连接2个表

时间:2017-11-11 20:13:23

标签: mysql sql join

SessionID   PlacesOfInterestID  PropertyID  DistrictID  SettlementID    RegionID    CountryID   PTypeID     NoOfRooms
    3              0                 0          0             1             0           0          0           2    

以上是我对用于在酒店预订网站上制作动态广告的已保存搜索的解释。我希望能够使用会话表中具有该字段中的条目的任何列将此会话表连接到属性表。

下面的查询从保存的会话中返回带有settlementID的属性,如何根据保存的搜索中的数据更改查询以返回属性?

SELECT 
p_property.PropertyName,
p_property.PTypeID,
p_property.AvgReview,
p_property.DistrictID,
p_property.SettlementID,
p_property.NoOfFacilities 
FROM p_property 
JOIN p_session 
    ON p_property.SettlementID=p_session.SettlementID

1 个答案:

答案 0 :(得分:0)

那样的东西?

SELECT 
p_property.PropertyName,
p_property.PTypeID,
p_property.AvgReview,
p_property.DistrictID,
p_property.SettlementID,
p_property.NoOfFacilities 
FROM p_property 
JOIN p_session 
    ON p_property.SettlementID=p_session.SettlementID
    OR p_property.PlacesOfInterestID = p_session.PlacesOfInterestID
    OR p_property.PropertyID = p_session.PropertyID
    OR p_property.DistrictID = p_session.DistrictID
    OR p_property.RegionID = p_session.RegionID
    OR p_property.CountryID = p_session.CountryID
    OR p_property.PTypeID = p_session.PTypeID
    OR p_property.NoOfRooms = p_session.NoOfRooms

(对于任何符合至少一个条款的内容)