加入无法正常工作

Join not working properly

我正在向 table 中插入值,如下所示

INSERT INTO p_leave_allocation_11122015(Mkey, Entry_Sr_no, Comp_mkey,FDepartment_Id,FModule_Id,Year, Emp_mkey, Emp_card_no, U_Datetime, Delete_Flag,Month12,PL_Days,)
    SELECT 
        ROW_NUMBER() OVER(ORDER BY p_leave_allocation.MKey) + 1643,  
        ROW_NUMBER() OVER(ORDER BY Entry_Sr_no) + 898, 
        Comp_mkey, FDepartment_Id, FModule_Id,
        '2016', Emp_mkey, Emp_card_no, U_Datetime,
        Delete_Flag, Month12, 0 
    FROM 
        p_leave_allocation lev 
    WHERE
        Emp_mst Emp 
    LEFT JOIN 
        p_leave_allocation AND Emp.status IN ('A','S') 
        AND YEAR(Emp.Date_Of_Joining) = '2015' 

但我收到一个错误:

An expression of non-boolean type specified in a context where a condition is expected, near 'Emp'.

这里有什么问题?

更新

我这样试过但是出现错误

Incorrect syntax near the keyword 'WHERE'.

代码是:-

INSERT INTO p_leave_allocation_11122015(Mkey, Entry_Sr_no, Comp_mkey,FDepartment_Id,FModule_Id,Year, Emp_mkey, Emp_card_no, U_Datetime, Delete_Flag,Month12,PL_Days,)
    SELECT 
        ROW_NUMBER() OVER(ORDER BY p_leave_allocation.MKey) + 1643,  
        ROW_NUMBER() OVER(ORDER BY Entry_Sr_no) + 898, 
        Comp_mkey, FDepartment_Id, FModule_Id,
        '2016', Emp_mkey, Emp_card_no, U_Datetime,
        Delete_Flag, Month12, 0 
    FROM 
        p_leave_allocation lev LEFT JOIN  Emp_mst emp
    WHERE
       emp.Status in ('A','S')
     and 
   Year(emp.Date_Of_Joining) = '2015'

您需要一个 on 子句:

SELECT 
    ROW_NUMBER() OVER(ORDER BY p_leave_allocation.MKey) + 1643,  
    ROW_NUMBER() OVER(ORDER BY Entry_Sr_no) + 898, 
    Comp_mkey, FDepartment_Id, FModule_Id,
    '2016', Emp_mkey, Emp_card_no, U_Datetime,
    Delete_Flag, Month12, 0 
FROM p_leave_allocation lev LEFT JOIN
     Emp_mst emp
     ON lev.?? = emp.??
-----^
WHERE emp.Status in ('A', 'S')  and 
      YEAR(emp.Date_Of_Joining) = '2015';

我不知道加入什么列。在第一个查询中,WHERE 子句位于 FROM 子句中间 . TheWHERE` 子句之后。