2017-02-14 13 views
1

に参加し、私は多くのアプローチを試してみましたが、多くの提供ソリューションを踏襲している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コードに次のクエリを変換したいが、私は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

あなたはJOIN文の独自のon

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

関連する問題