gpt4 book ai didi

sequelize.js - 如何在 sequelize.js 中使用子查询?

转载 作者:行者123 更新时间:2023-12-03 22:37:49 26 4
gpt4 key购买 nike

我想将下面的子查询更改为 Sequelize 代码。
你能告诉我是否有办法改变到下面的表格

select 
product_seq
, product_type_code
, (select DETAIL_KOREAN_NAME from CODE_DETAIL where code_id = 'A0001' and detail_code_id = product_type_code) as product_type
from land.PRODUCT;

例如
models.Product.findAll({
attributes: ['newColumn']........
}).then((data)=>{
res.json(data)
})

最佳答案

这可能是一个很好的例子。

models.Product.findAll({
attributes: ['product_type_code']
include: [
{
model: models.CODE_DETAIL,
where: {
code_id: { [Op.eq]: 'A0001' },
detail_code_id = { [Op.eq]: Sequelize.col('product_type_code') }
}
attributes: [ ['DETAIL_KOREAN_NAME', 'product_type'] ]
}]
});

请注意,更好的方法是事先建立模型关系,例如:
models.Product.hasMany(models.CODE_DETAIL, { foreignKey: 'detail_code_id', sourceKey: 'product_type_code' });

所以查询可能看起来像:
models.Product.findAll({
attributes: ['product_type_code']
include: [
{
model: models.CODE_DETAIL,
where: {
code_id: { [Op.eq]: 'A0001' }
}
attributes: [ ['DETAIL_KOREAN_NAME', 'product_type'] ]
}]
});

关于sequelize.js - 如何在 sequelize.js 中使用子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56098478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com