【问题标题】:Sequalize query using sub query and case Then statements使用子查询和 case Then 语句对查询进行续集
【发布时间】:2016-04-10 07:05:30
【问题描述】:
    SELECT
    u.uid
FROM
    users u
WHERE
    u.uid NOT IN(
        SELECT 
DISTINCT
            CASE
        WHEN uid = 3 THEN
            blocked_uid
        WHEN uid <> 3 THEN
            uid
        END AS 'uid'
        FROM
            user_block
        WHERE
            `status` = 'ACTIVE'
        AND(
            (uid IN(4, 5) AND blocked_uid = 3)
            OR(uid = 3 AND blocked_uid IN(4, 5))
        )
    )
AND u.uid IN(4, 5)

【问题讨论】:

    标签: mysql sql node.js orm sequelize.js


    【解决方案1】:

    您可以根据文档http://docs.sequelizejs.com/en/latest/docs/raw-queries/#replacements 使用查询函数并绑定参数或使用替换 WHERE/IN 子句中的值。

    例如:

    sequelize.query('SELECT * FROM projects WHERE status = ?',
    { replacements: ['active'], type: sequelize.QueryTypes.SELECT 
    }).then(function(projects) {
      console.log(projects)
    })
    

    【讨论】:

      猜你喜欢
      • 2021-05-15
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 2013-03-25
      • 2011-02-14
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      相关资源
      最近更新 更多