У меня есть этот запрос в sql,
Как я могу написать то же самое с помощью Sequalize в Nodejs?
Я пробовал это,
const query = `
SELECT prdtl.pono, prdtl.desgcode, d.descr, g.grn_dt,
IFNULL(g.grnQty, 0) AS grnQty,
IFNULL(gd.gdnQty, 0) AS gdnQty
FROM po_orddtl prdtl
LEFT JOIN ismaster.desitem d ON d.desgcode = prdtl.desgcode
LEFT JOIN (
SELECT grn_dt, pono, desgcode,
IFNULL(SUM(pass_qty), 0) AS grnQty
FROM grn
GROUP BY pono, desgcode
) g ON g.pono = prdtl.pono AND g.desgcode = prdtl.desgcode
LEFT JOIN (
SELECT pono, desgcode,
IFNULL(SUM(gdn_qty), 0) AS gdnQty
FROM gdn
GROUP BY pono, desgcode
) gd ON gd.pono = prdtl.pono AND gd.desgcode = prdtl.desgcode
WHERE prdtl.is_dead != 1
AND g.grn_dt <= :date
GROUP BY prdtl.pono, prdtl.desgcode
`;
const query = `
SELECT prdtl.pono, prdtl.desgcode, d.descr, g.grn_dt,
IFNULL(g.grnQty, 0) AS grnQty,
IFNULL(gd.gdnQty, 0) AS gdnQty
FROM po_orddtl prdtl
LEFT JOIN ismaster.desitem d ON d.desgcode = prdtl.desgcode
LEFT JOIN (
SELECT grn_dt, pono, desgcode,
IFNULL(SUM(pass_qty), 0) AS grnQty
FROM grn
GROUP BY pono, desgcode
) g ON g.pono = prdtl.pono AND g.desgcode = prdtl.desgcode
LEFT JOIN (
SELECT pono, desgcode,
IFNULL(SUM(gdn_qty), 0) AS gdnQty
FROM gdn
GROUP BY pono, desgcode
) gd ON gd.pono = prdtl.pono AND gd.desgcode = prdtl.desgcode
WHERE prdtl.is_dead != 1
AND g.grn_dt <= :date
GROUP BY prdtl.pono, prdtl.desgcode
`;
const date = "2023-08-20"; // replace with your date
const replacements = { date };
const [results, metadata] = await sequelize.query(query, {
replacements,
type: QueryTypes.SELECT,
});
Харитон
Вопрос задан21 мая 2024 г.