我有两个表酒店和活动
Hotels
id | name |
1 | hilton |
2 | taj samudra |
3 | galadari |
Activities
id | name |
1 | air balloon |
2 | whale watching |
3 | jungle safari |
我还有另一个表游览
id | starting_location_id | starting_location_type
1 | 1 | hotel
2 | 1 | activity
用户可以从酒店或活动开始游览。
我想要的是传递id
并需要使用联接来获取像这样的数据
id | name
1 | hitlon
2 | air baloon
如果我以后解释,我想要一个可以引用多个表的外键。
注意:-这尚未实现。我想实现这种情况。我想通过 Tour 表中的id
,并需要获取该记录的关联数据。
在MYSQL中可以吗?
答案 0 :(得分:1)
您可以在下面尝试-
select t1.id,coalesce(h.name,a.name) as name
from tour t1
left join hotels h on t1.starting_location_id=h.id and starting_location_type='hotel'
left join Activities a on t1.starting_location_id=a.id and starting_location_type='activity'
OUTPUT:
id name
2 air balloon
1 hilton