我想将下面的子查询更改为续集代码。 你能告诉我是否可以更改下面的表格
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)
})
答案 0 :(得分:0)
这可能是一个很好的例子。
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'] ]
}]
});