티스토리 뷰

1. on: {} 키워드를 사용해서 on 조건을 명시해 줄수 있음.(jpa에서 @JoinColums와 비슷..)

let list = await this.findAll({
    where: where,
    limit: parseInt(w.limit || 10),
    offset: parseInt(w.offset || 0),
    include: [
        {
            model: db.productSupplier,
            on: {
                prodId: db.sequelize.where(db.sequelize.col('price.prodId'), '=', db.sequelize.col('productSupplier.prodId')),
                suplrId: db.sequelize.where(db.sequelize.col('price.suplrId'), '=', db.sequelize.col('productSupplier.suplrId')),
            },
            required: true,
            include: [
                {
                    model: db.product,
                    required: true
                },
                {
                    model: db.supplier,
                    required: true
                }
            ],
            order: [['prodId', 'ASC'], ['suplrId', 'ASC'],['price', 'ASC']]
        }
    ]
});

 

2. main테이블이 아닌 필드에서 검색하여야 할 상황

where.id = {
    [Op.or] : [
        {
            [Op.in]: db.sequelize.literal("(
            	SELECT D.reqId 
                FROM T_PRODUCT 
                WHERE productName LIKE '%" + where.product + "%'
            )")
        }
    ]
}

 

 

위 2가지 상황에서 더 좋은 해결책이 있으면 댓글 부탁드립니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함