2017-05-26 75 views
1

我想知道如何在peewee中执行以下SQL查询。如何将多个条件传递给pype peewee的join参数?

SELECT 
    farmers.fruit_count, 
    vendors.fruit_count, 
FROM 
    farmers 
INNER JOIN 
    vendors 
ON 
    farmers.location = vendors.location 
AND 
    farmers.alliance = vendors.alliance 
AND 
    farmers.fruit_count > 0 

即使是在 - 和 - 甚至可以在peewee吗?关于on的论点没有太多的文档。我必须求助于where()吗?我将承担查询看起来像以下,假设on参数采用相同的形式是什么where()需要:

Farmers.select(Farmers.fruit_count, 
       Vendors.fruit_count) 
     .join(Vendors, 
      join_type=JOIN.INNER, 
      on=(Farmers.location == Vendors.location, 
       Farmers.alliance == Vendors.alliance, 
       Farmers.fruit_count > 0) 

回答

2

只需使用&加盟条件:

on=((Farmers.location == Vendors.location) & 
    (Farmers.alliance == Vendors.alliance) & 
    (Farmers.fruit_count > 0)) 
相关问题