我正在将值插入到表格中,如下所示
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'
但是我收到了一个错误:
在'Emp'附近的预期条件的上下文中指定的非布尔类型的表达式。
这里有什么问题?
更新
我试过这样但是得到错误
关键字'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'
答案 0 :(得分:1)
您需要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
WHERE`子句的中间有一个. The
子句。