设置如下:
表A包含列desc和日期
表B包含列desc,日期和任务
表C有列keyid和type。
我想要做的是将表B中的一些行复制到表A,其中A.desc应该是B.desc,而A.date应该是B.date。要选择要复制的行,逻辑是:"所有行,例如B.task = C.keyid AND C.type =' 1'"。
如果我想只选择要复制的行,则查询将是:
SELECT B.desc, B.date FROM B,C WHERE B.task=C.keyid AND C.type='1'
由该选择产生的行需要复制到A.我知道如何编写select,但是如何编写INSERT INTO查询?
答案 0 :(得分:1)
此未经测试的查询应该有效:
insert into tableA (tableA.desc, tableA.data) SELECT B.desc, B.date FROM B,C WHERE B.task=C.keyid AND C.type='1'
答案 1 :(得分:0)
您可以运行此查询:
db.query(sql, function (err, rows1) {
db.query(sql, function (err, rows2) {
db.query(sql, function (err, rows3) {
db.query(sql, function (err, rows4) {
var result = {};
var res = {};
var order = {};
result["firstROW"] = rows1;
result["secondROW"] = rows2;
result["forthROW"] = rows3;
result["fifthtROW"] = rows4;
res[order] = result;
res['result'] = "success";
res['message'] = "ok";
callback(res);
})
})
})
})
}
我希望它会有所帮助。
答案 2 :(得分:-1)
你可以试试这个:
INSERT INTO table_A (desc, date)
SELECT B.desc, B.date FROM table_B as B,table_C as C WHERE B.task=C.keyid AND C.type='1'