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.