【发布时间】:2017-01-12 21:22:42
【问题描述】:
是否可以在 sql 查询中使用 javascript 数组?
我想在第二个查询中使用 studentsId 作为参数。
db.query('SELECT users.* FROM users JOIN classes ON users.class_id=classes.id WHERE classes.id ="' + req.body.classSelect + '" ', function (err, rows) {
// Saves all my users id that i get from my first query
var studentsId = [];
for (var i = 0; i < rows.length; i++) {
studentsId.push(rows[i].id);
}
console.log(studentsId);
// in this query i want to use studentsId
db.query("SELECT users.id, users.first_name, users.last_name,attendances.type_id,attendances.attendance_timestamp FROM users JOIN attendances ON attendances.user_id = users.id WHERE attendance_timestamp BETWEEN '2016-01-01' AND '2016-12-31' AND user_id IN ('"+ studentsId +"') ", function (err, result) {
if (err) {
throw err;
}
console.log(result);
});
});
【问题讨论】:
-
仅当您使用例如 AJAX 将其发送到服务器时
-
你为什么不把这两个查询和
JOIN结合起来? -
不要在
studentsId周围加上引号。这使得它只是IN()列表中的一个元素,而不是 ID 列表。
标签: javascript mysql express