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

3个表 join
以前3个表,我都用where,用join不知道怎么写

select periodName,DeptName, convert( varchar(100), AppointTime, 23)AppointTime, app.* 
from appointList app 
join periodList per ,DeptList dl
on app.periodID=per.periodID and app.DeptID=dl.ID

服务器: 消息 170,级别 15,状态 1,行 3
第 3 行: ',' 附近有语法错误。

------解决方案--------------------
你的一个一个的join.不要连起来
------解决方案--------------------
就是这样
------解决方案--------------------
可以的,你之前的写法不适合连接,可以直接用在where后面
------解决方案--------------------
SQL code
select periodName , DeptName , convert(varchar(20),AppointTime,23) AppointTime, app.* from appointList app  
inner join periodList per on app.periodID=per.periodID
inner join DeptList dl on app.DeptID=dl.ID

select periodName , DeptName , convert(varchar(20),AppointTime,23) AppointTime, app.* from appointList app  
from appointList app , periodList per , DeptList dl
where app.periodID=per.periodID and app.DeptID=dl.ID

------解决方案--------------------
就是你之前的那个表名写在一起,然后用where加条件就可以了,不用on来连接
------解决方案--------------------
探讨
SQL code
select periodName , DeptName , convert(varchar(20),AppointTime,23) AppointTime, app.* from appointList app
inner join periodList per on app.periodID=per.periodID
inner join DeptList dl o……