日期:2014-05-18  浏览次数:20581 次

求助: inner join 难题!
我这有三个表
TABLE1(id,地名,人名) TABLE2(id,地名,景点) TABLE3(id,地名1,景点1)
  1 北京 张三 1 北京 故宫 1 安徽 黄山
  2 天津 李四 2 天津 天津卫 2 河南 少林寺
  3 安徽 王五
查询 人名 去的 景点

  select 人名,景点 from TABLE1 inner join (select TABLE2.景点,TABLE2.地名,TABLE3.地名,TABLE3.景点 from 表2,表3)a on (TABLE1.地名 = TABLE2.地名 or TABLE1.地名 = TABLE3.地名)
  
应该怎么写,谢谢!
 

------解决方案--------------------
SQL code
select 人名,景点 from TABLE1 
inner join 
 (
select * from 表2,
union all
select * from 表3
)a 
on TABLE1.地名 = a.地名