SQLite中针对多个表的数据库查询

时间:2019-04-02 21:43:44

标签: sqlite express callback

我想在一个查询中从多个SQlite表中提取数据。使用(行)对象调用回调函数,然后发送到客户端。我尝试了几种不同的方法,只能返回一行。

let userIdentify = req.user
db.all("SELECT * FROM Table1 Where Name = ? UNION ALL SELECT * FROM Table2 WHERE Name = ?)", (userIdentify, userIdentify), function(err, row) {
  if(row) {
    console.log(row)
    res.send({success : true, message : "Some message", information : row})
  }
})

运行此命令时,我将table1中的行记录到控制台,而table2中没有任何记录。我还应该添加两个表具有相同数量的列等。它们每个都应返回具有19个键/值对的JS对象。

基本上,我认为查询语句是错误的,并且只将一个数据行传递到回调函数中。

请帮助。

1 个答案:

答案 0 :(得分:0)

根据doc(强调):

  

有3种方式传递绑定参数:直接在   函数的参数,作为数组,以及作为named对象   参数。

如果您在参数列表周围将()更改为[],它将起作用:

db.all("SELECT * FROM Table1 Where Name = ? UNION ALL SELECT * FROM Table2 WHERE Name = ?)", [userIdentify, userIdentify], function(err, row) {