各位大虾,有这样一段SQL
select 今年的第几周_进场, dbo.bzrs(今年的第几周_进场) as 编制人数 from (select a.今年的第几周_进场,b.* from 
(select b.今年的第几周 as 今年的第几周_进场, a.* 
from dbo.P_EmployeeTab a join a_p_worktimetab b on 
a.workdate=b.time_start) a 
join
(select b.今年的第几周 as 今年的第几周_离职, a.* 
from dbo.P_EmployeeTab a join a_p_worktimetab b on 
a.dimissiondate=b.time_start) b on 
a.employeeid=b.employeeid )--首先第一行 from 后面的语句是正确的,
单是连起查询时
报告的错误是
服务器: 消息 170,级别 15,状态 1,行 13
第 13 行: ')' 附近有语法错误。小弟初学,望大家指点 

解决方案 »

  1.   

    select 今年的第几周_进场, dbo.bzrs(今年的第几周_进场) as 编制人数 from (select a.今年的第几周_进场,b.* from 
    (select b.今年的第几周 as 今年的第几周_进场, a.* 
    from dbo.P_EmployeeTab a join a_p_worktimetab b on 
    a.workdate=b.time_start) a 
    join
    (select b.今年的第几周 as 今年的第几周_离职, a.* 
    from dbo.P_EmployeeTab a join a_p_worktimetab b on 
    a.dimissiondate=b.time_start) b on 
    a.employeeid=b.employeeid ) aa
      

  2.   

    select 今年的第几周_进场, dbo.bzrs(今年的第几周_进场) as 编制人数 from  (select a.今年的第几周_进场,b.* from  
    (select b.今年的第几周 as 今年的第几周_进场, a.*  
    from dbo.P_EmployeeTab a join a_p_worktimetab b on  
    a.workdate=b.time_start) a  
    join
    (select b.今年的第几周 as 今年的第几周_离职, a.*  
    from dbo.P_EmployeeTab a join a_p_worktimetab b on  
    a.dimissiondate=b.time_start) b on  
    a.employeeid=b.employeeid ) aa
      

  3.   


    select 今年的第几周_进场, dbo.bzrs(今年的第几周_进场) as 编制人数 from (select a.今年的第几周_进场,b.* from 
    (select b.今年的第几周 as 今年的第几周_进场, a.* 
    from dbo.P_EmployeeTab a join a_p_worktimetab b on 
    a.workdate=b.time_start) a 
    join
    (select b.今年的第几周 as 今年的第几周_离职, a.* 
    from dbo.P_EmployeeTab a join a_p_worktimetab b on 
    a.dimissiondate=b.time_start) b )
    on a.employeeid=b.employeeid
      

  4.   


    with cte as(
    select b.今年的第几周 as 今年的第几周_进场, a.* 
    from dbo.P_EmployeeTab a join a_p_worktimetab b on 
    a.workdate=b.time_start
    ),
    with ctd as(
    select b.今年的第几周 as 今年的第几周_离职, a.* 
    from dbo.P_EmployeeTab a join a_p_worktimetab b on 
    a.dimissiondate=b.time_start
    )
    select 今年的第几周_进场, dbo.bzrs(今年的第几周_进场) as 编制人数 from 
    cte a join ctd b on a.employeeid=b.employeeid;
    --这样写可读性好些吧