How to write a join with in subQuery in Sequelize?

Viewed 284

I am trying to build the following query using Sequelize.

SELECT * 
FROM   (SELECT * 
        FROM   tla_styles 
               INNER JOIN tla_style_ranks AS TlaStyleRanks 
                       ON tla_styles.id = TlaStyleRanks.tla_style_id 
                          AND TlaStyleRanks.name = 'random' 
        WHERE  tla_styles.status = 'L' 
        LIMIT  24) AS TlaStyle 
       LEFT OUTER JOIN "mkt_brands" AS "Brand" 
                    ON "TlaStyle"."brand_id" = "Brand"."id" 

Sequelize findAll call is below

db.TlaStyle.findAll({
        subQuery: true,
        include: [
          {
            subQuery: false,
            model: db.Brand,
          },
      {
            subQuery: false, 
            model: db.TlaStyleRank,
       }
    ]
)

And I am getting this final query.

SELECT * 
FROM   (SELECT * 
        FROM   tla_styles 
        WHERE  tla_styles.status = 'L' 
        LIMIT  24) AS tla_styles 
       LEFT OUTER JOIN "mkt_brands" AS "Brand" 
                    ON "TlaStyle"."brand_id" = "Brand"."id" 
       INNER JOIN tla_style_ranks AS TlaStyleRanks 
               ON tla_styles.id = TlaStyleRanks.tla_style_id 
                  AND TlaStyleRanks.name = 'random' 

I have tried many ways but nothing worked and I am also new with sequelize.

0 Answers
Related