2017-02-14 35 views
1

我喜歡下面的查詢轉換成sequelize代碼Sequelize - 加入多列

select * from table_a 
inner join table_b 
on table_a.column_1 = table_b.column_1 
and table_a.column_2 = table_b.column_2 

我已經嘗試了許多方法和遵循許多提供解決方案,但我無法實現從sequelize代碼所需的查詢。

馬克斯我實現的是以下幾點:

select * from table_a 
inner join table_b 
on table_a.column_1 = table_b.column_1 

我想第二個條件也。

and table_a.column_2 = table_b.column_2 

任何正確的方法來實現它?

回答

3

您需要定義自己的on子句JOIN聲明

ModelA.findAll({ 
    include: [ 
     { 
      model: ModelB, 
      on: { 
       col1: sequelize.where(sequelize.col("ModelA.col1"), "=", sequelize.col("ModelB.col1")), 
       col2: sequelize.where(sequelize.col("ModelA.col2"), "=", sequelize.col("ModelB.col2")) 
      }, 
      attributes: [] // empty array means that no column from ModelB will be returned 
     } 
    ] 
}).then((modelAInstances) => { 
    // result... 
}); 
+0

謝謝!它按我的需要工作。 – smkrn110