在节点js中使用自定义值插入选择查询

时间:2018-04-25 07:49:46

标签: javascript sql node.js

我有一个看起来像这样的SQL查询。

var q = "INSERT INTO leave_taken_superior_map_dis_approved " +
    "(ltsm_id,ltsm_superior_id,ltsm_group_id,ltsm_all_approved,ltsm_overide_by_hr,ltsm_old_list,ltsm_leave_type,ltsm_message,ltsm_user,lstm_leave_reason) " +
    "SELECT ltsm_id,ltsm_superior_id,ltsm_group_id,ltsm_all_approved,ltsm_overide_by_hr,ltsm_old_list,ltsm_leave_type,ltsm_message,ltsm_user,lstm_leave_reason FROM leave_taken_superior_map WHERE ltsm_group_id = ?;" +
    "INSERT INTO affno_leave_taken_disapprove " +
    "(alt_id,alt_leave_date,alt_leave_text,alt_leave_taken_by,alt_leave_type,alt_other,alt_date_time,alt_group_by,alt_leave_applied,alt_leave_approved_by,alt_leave_approved,alt_superior_id) " +
    "SELECT alt_id,alt_leave_date,alt_leave_text,alt_leave_taken_by,alt_leave_type,alt_other,alt_date_time,alt_group_by,alt_leave_applied,alt_leave_approved_by,alt_leave_approved,alt_superior_id from affno_leave_taken WHERE alt_group_by = ?; " +
    "delete from leave_taken_superior_map where ltsm_group_id = ?;";
var qp = [groupID, groupID, groupID];
sqlq.executeQuery(q, qp).then((data) => {
    resolve(data)
}).catch((err) => {
    console.log(err)
    reject(err)
})

我想要做的是从表中复制完成的数据并将其放在另一个表上,然后从上一个表中删除它。但是我需要更改上一个表中的一些列并将它们添加到新表中。对于前而不是来自leave_taken_superior_map的ltsm_superior_id,我想在新表中添加另一个值(假设为5)(leave_taken_superior_map_dis_approved)。是否有任何简单的方法来实现这一目标。

1 个答案:

答案 0 :(得分:0)

只需写下你想要的值,就像这样

INSERT INTO leave_taken_superior_map_dis_approved (ltsm_superior_id, ltsm_id,  ltsm_group_id, ltsm_all_approved, ltsm_overide_by_hr, ltsm_old_list, ltsm_leave_type, ltsm_message, ltsm_user, lstm_leave_reason)
  SELECT
    5, 
    ltsm_id,    
    ltsm_group_id,
    ltsm_all_approved,
    ltsm_overide_by_hr,
    ltsm_old_list,
    ltsm_leave_type,
    ltsm_message,
    ltsm_user,
    lstm_leave_reason
  FROM leave_taken_superior_map
  WHERE ltsm_group_id = ?;