Mysql 续集连接多个字段-多个表
我可以将下面的查询转换为sequelize吗? 我建立了一个简单的例子来说明这个想法,基本上就是将同一个表与多个表进行比较。 这 表C.field_4=表B.field_4 表C.field_1=表A.field_1 ( 表A.字段_8=1 或表C.字段_4不为空 )Mysql 续集连接多个字段-多个表,mysql,join,relationship,sequelize.js,Mysql,Join,Relationship,Sequelize.js,我可以将下面的查询转换为sequelize吗? 我建立了一个简单的例子来说明这个想法,基本上就是将同一个表与多个表进行比较。 这 表C.field_4=表B.field_4 表C.field_1=表A.field_1 ( 表A.字段_8=1 或表C.字段_4不为空 ) var TableA = sequelize.define('TableA', field_1 : { type : Sequelize.BIGINT, primaryKey : true, autoIncrement :
var TableA = sequelize.define('TableA',
field_1 : {
type : Sequelize.BIGINT,
primaryKey : true,
autoIncrement : true
},
field_2 : {
type : Sequelize.BIGINT,
},
field_3 : {
type : Sequelize.BIGINT(4),
references : {
model : 'TableD',
key : 'field_3'
}
},
field_8 : {
type : Sequelize.BOOLEAN,
allowNull : false,
defaultValue : true
},
{
tableName : 'tableA'
}
);
var TableB = sequelize.define('TableB', {
field_4 : {
type : Sequelize.BIGINT(4),
primaryKey : true,
autoIncrement : true
},
field_3 : {
type : Sequelize.BIGINT(4),
references : {
model : 'TableD',
key : 'field_3'
},
allowNull : false
},
field_5 : {
type : Sequelize.STRING(255),
unique : true,
allowNull : false
},
field_6 : {
type : Sequelize.STRING
},
field_7 : {
type : Sequelize.BIGINT,
allowNull : false
},
{
tableName : 'tableB'
}
);
var TableC = sequelize.define('TableC', {
field_4: {
type: Sequelize.BIGINT(4),
primaryKey: true
references: {
model: 'TableB',
key: 'field_4'
}
},
field_1: {
type: Sequelize.BIGINT,
primaryKey: true
references: {
model: 'TableA',
key: 'field_1'
}
},
{
tableName: 'tableC'
}
);
SELECT
*
FROM
tableA
JOIN tableB ON
tableB.field_3 = tableA.field_3
LEFT JOIN TableC ON
TableC.field_4 = tableB.field_4
AND TableC.field_1 = tableA.field_1
WHERE
(
tableA.field_8 = 1
OR TableC.field_4 IS NOT NULL
)
and tableB.field_7 = 10
and tableA.field_2 = 1036