多个where子句续集

时间:2016-12-15 14:07:30

标签: mysql node.js sequelize.js

目前,我正在使用字符串操作来传递多个where子句的值。

由于带有替换的原始查询的文档不支持多个where子句而我无法使用,只需使用find()

由于我的需求需要使用find()无法实现的复杂mysql查询。

在“原始查询模式”中,有没有办法完成多次过滤的基本任务?

   if(selector==""){
              selector="where "+searchkey+" LIKE "+"'%"+searchvalue+"%'";
}
else
{
              selector=selector+" and  "+searchkey+'  LIKE %' + searchvalue + '%';
}




sequelize.query('select ROLEID as RoleID,Rolename, CASE WHEN isactive = 1 THEN \'True\' ELSE \'False\' END as isactive , ' +
          'GROUP_CONCAT(DISTINCT modID) ModID,' +
          'GROUP_CONCAT(DISTINCT Modulename) Modulename,' +
          'GROUP_CONCAT(DISTINCT  Accestype)  Accestype ' +
          'from ' +
          '( ' +
          'select isactive,rl.roleid AS ROLEID,n.modnameID as modID, n.Mname as Modulename,rl.rolename as Rolename, r.Accestype as Accestype  from mrole r ' +
          'left join modname n ' +
          'on r.modulename=n.modnameID ' +
          'left join role rl ' +
          'on rl.roleid=r.rolename '+
          ') as a '+selector+' GROUP BY ROLEID,Rolename,isactive '+ 
          'limit :NUMBER_OF_ITEMS ' +
          'offset :PAGE_NUMBER   ', {
              replacements: {
                  NUMBER_OF_ITEMS: parseInt(NUMBER_OF_ITEMS),
                  PAGE_NUMBER: parseInt(PAGE_NUMBER)
              },
              type: sequelize.QueryTypes.SELECT
          }
      ).then(function(projects) {
          var red = new Object();
          red.rows = projects;
          res.json(red);
      })

0 个答案:

没有答案