Mysql 在每次迭代中运行查询

Mysql 在每次迭代中运行查询,mysql,node.js,callback,node-mysql,Mysql,Node.js,Callback,Node Mysql,有人能帮我查询返回的查询吗 我希望查询遍历上一个查询的结果,以查看是否使用了凭证 这是查询的代码: db.query('SELECT * FROM Table WHERE ID in ?', [(1,2,3,4)], function(err, rows) { if (err) throw err var items = [] rows.forEach(function(i) { var item = { 'item1': i.it

有人能帮我查询返回的查询吗

我希望查询遍历上一个查询的结果,以查看是否使用了凭证

这是查询的代码:

db.query('SELECT * FROM Table WHERE ID in ?', [(1,2,3,4)],
function(err, rows) {
    if (err) throw err
    var items = []
    rows.forEach(function(i) {
        var item = {
            'item1': i.item1,
            'item2': i.item2,
            'item3': i.item3
        }
        db.query('SELECT * FROM Table2 WHERE ID = ?', [i.ID],
        function(err, rows2) {
            if (err) throw err
            item.subvalue = rows2
        })
        items.push(item)
        })
        res.json(items)
    })

所以我最终做到了。使用多语句,其中第二个查询返回查询1中的结果所需的所有可能结果。然后我可以遍历其中的结果1和结果2

仍然不确定这是最好的方法,但它是有效的。欢迎提出任何建议

db.query('SELECT 1 WHERE Range ?; SELECT 2 WHERE ID IN (SELECT 1)', 
[req.body.hotelid, '2015-11-01', '2015-11-30', 
req.body.hotelid, '2015-11-01', '2015-11-30'],
    function(err, result) {
        if (err) console.log(err)
        else
            var items = []
        result[0].forEach(function(i) {
            var giftVoucherUsed = []
            var item = {
                'ID': i.BookingID,
                'BookingDate': i.BookingDate,
                'GuestName': 'Guestname'
            }                
            result[1].forEach(function(g){
                if(g.BookingID == i.BookingID){
                    giftVoucherUsed.push(g) 
                }
            })
            item['GiftVoucher'] = giftVoucherUsed

            items.push(item)
        })
       res.json(items)
    });

你能澄清问题是什么吗?返回什么?代码试图显示什么?您在代码中遇到的问题是什么?
['(1,2,3,4)]
->
[(1,2,3,4)]
在这种情况下,主要查询是获取给定月份的预订项目列表。然后,我需要遍历结果,并通过第二次查询检查每个项目上是否使用了凭证。这两个查询分别工作得很好,我想知道在foreach循环中构建的对象上的第二个查询的结果是什么。因为我不能直接进入item.subvalue=rows2什么是
[(1,2,3,4)]
?我认为这不正确。顺便说一句,您不能在查询调用中迭代结果,因为它是异步的。您应该使用回调或异步模块。