簡體   English   中英

在子查詢中后綴“ WHERE”子句

[英]Sequelize “WHERE” Clause in subqueries

我正在嘗試使用sequelize構建查詢,在where子句中,我需要從前端提供條件值,所以我這樣做是這樣的:

getResults(req) {
            return parm
                .findAll({
                    attributes: [
                        sequelize.literal('DISTINCT "id"')
                    ],
                    where :  {
                        name: req.query.parm.replace(/"/g, '').split(',')
                    } ,            
                    raw: true
                });

        }

它正在工作! 但是現在我需要編寫一個包含where子句的子查詢:

SELECT tab1.name FROM
(SELECT name FROM "MYTABLE"
WHERE id = (value from the front-end) AND name IN (values from front-end)
) as tab1

這是我嘗試過的:

    getTest(req) { 
if (req.query.parm != null) {
 return parm .sequelize.query('SELECT id FROM "table_base" where id = $mid ); ',
 { type: sequelize.QueryTypes.SELECT , 
   bind: { mid: [req.query.parm.replace(/"/g, '').split(',')] }} ); 
} 
},

我嘗試使用原始查詢並測試了綁定參數,但是執行此測試查詢時出現此錯誤:

Executing (default): SELECT id FROM "table_base" where id = $1 ); 

您的問題的答案是肯定的,的確有可能! 即使使用sequelize,SQL幾乎可以做任何事情。 如果您編寫了子查詢,但該子查詢不起作用,只需將其重新發布回此處,以便人們進行查看和調試。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM