[英]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.