2017-06-25 3 views
0
ここ

から2列にsequelize.fn( 'IFNULL')を使用することができますが、SQLです:私はsequelize.findAll()と同じ結果を得ることができる方法はどのように私は別のテーブル

SELECT IFNULL(A.price, B.price) 
FROM table1 B 
INNER JOIN (
    SELECT price 
     ,product_id 
    FROM table2 
    WHERE user_id = xxx 
    ) A 
    ON A.product_id = B.product_id 

答えて

0

あなたが関連を持っていない場合

Model.A.findAll({where:{user_id:XXX}, include:Model.B}) 

をAからBに定義された関連付けをしていると仮定すると、あなたはraw queriesを使用することができます。

sequelize.query('SELECT IFNULL(A.price, B.price) FROM table1 B INNER JOIN (SELECT price, product_id FROM table2 WHERE user_id=:uid) A ON A.product_id=B.product_id',{replacements:{uid:xxx}}) 
関連する問題