繁体   English   中英

序列化:将查询结果用作selectQuery的表

[英]Sequelize: Use query results as table for selectQuery

是否可以将查询结果用作表格以供sequelize查询生成器中的另一个选择使用? 这是我尝试生成的SQL:

UPDATE target 
SET fk1_id = '1' 
WHERE id NOT IN
    (SELECT id
    FROM (
        SELECT id
        FROM target
        WHERE fk1_id = 1 AND fk2_id = 2
         ) AS inner_target )
    AND fk1_id IS NULL AND fk2_id = '2' LIMIT 1

我正在尝试通过以下方式实现这一目标:

const innerSelect = 
sequelize.dialect.QueryGenerator.selectQuery('target', {
            attributes: ['fk1_id'],
            where: {
                fk1_id: fk1_id,
                fk2_id: fk2_id,
            },
        }).slice(0, -1);

const selectAs = sequelize.dialect.QueryGenerator.selectQuery(
    sequelize.literal(`${innerSelect}`), {
            attributes: ['id'],
        }).slice(0, -1);

但是,我收到一条错误消息:

"message": "Table 'db.undefined' doesn't exist"
"name": "SequelizeDatabaseError"
"code": "ER_NO_SUCH_TABLE"

而内部选择正在尝试从未undefined进行选择

任何建议将不胜感激!

根据该错误,您尚未创建要查询的表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM