Разделить раздел "ГДЕ" в подзапросах - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь построить свой запрос, используя 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 ); 

1 Ответ

0 голосов
/ 05 июля 2018

Ответ на ваш вопрос - ДА, это действительно возможно! SQL может делать что угодно, даже если вы используете sequelize. Если вы пишете подзапрос, и он не работает, просто опубликуйте его здесь, чтобы люди могли посмотреть и отладить. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...