现在有三个表 a b c
表a PayCalculation 里面有(paydate empid 等等)
表b Employee有(empid dateleft 等)
表c 里面(都跟表a一样)现已经表a跟表b合并起来
SELECT PayCalculation.*, Employee.DateLeft FROM PayCalculation INNER JOIN Employee ON Employee.EmployeeID = PayCalculation.EmpID现在又想把表c里面的paydate 一起查询出来
但是paydate年月跟表a一样的不显示出来
请问现在该怎么写
表a PayCalculation 里面有(paydate empid 等等)
表b Employee有(empid dateleft 等)
表c 里面(都跟表a一样)现已经表a跟表b合并起来
SELECT PayCalculation.*, Employee.DateLeft FROM PayCalculation INNER JOIN Employee ON Employee.EmployeeID = PayCalculation.EmpID现在又想把表c里面的paydate 一起查询出来
但是paydate年月跟表a一样的不显示出来
请问现在该怎么写
解决方案 »
- 触发器执行后,主动触发的表怎么没有更新?
- 求一列数据之间的差
- 刪除備份出錯??? exec master..xp_cmdshell('del D:\MSSQL\BACKUP\NBOMCOST_050505')
- 将XML导入到数据库通过数据服务的本地包中编写activeX代码,然后进行调度,出现的问题
- 安装sql出错,急请教???
- 一个关于替代游标的问题
- SQL中的觸發器問題
- sql server 能否删除我硬盘上的文件呢
- sql server 连接超时的错误,高手请进!!
- 关于oracle8i登录oracle enterprise manager中的控制台的问题
- 根据B表的数据更新A表的内容
- 挂磁盘阵列,数据大小为0.急求解决方案
PayCalculation.*,
Employee.DateLeft
FROM
(select * PayCalculation
union all
select * from c where not exists(select 1 from PayCalculation where empid=c.empid and datediff(mm,paydate,c.paydate)=0)
) as PayCalculation
INNER JOIN
Employee
ON
Employee.EmployeeID = PayCalculation.EmpID
PayCalculation.*,
Employee.DateLeft
FROM
(select * from PayCalculation
union all
select * from c where not exists(select 1 from PayCalculation where empid=c.empid and datediff(mm,paydate,c.paydate)=0)
) as PayCalculation
INNER JOIN
Employee
ON
Employee.EmployeeID = PayCalculation.EmpID树哥少了个from哦!
a.*,b.DateLeft,c.*
from
PayCalculation a
inner join
Employee b
ON
b.EmployeeID = a.EmpID
inner join
(select * from c where not exists(select 1 from PayCalculation where year(paydate)=year(c.paydate) and month(paydate)=month(c.paydate))
on
b.EmployeeID =c.EmpID
a.*,
b.DateLeft
FROM
(select * from PayCalculation
union all
select * from c where not exists(select 1 from PayCalculation where empid=c.empid and year(paydate)=year(c.paydate) and month(paydate)=month(c.paydate))
) a
INNER JOIN
Employee b
ON
b.EmployeeID = a.EmpID