Joins("left join supplier_base as s on s.sid=a.sid").
时间: 2024-04-18 13:29:55 浏览: 15
这部分代码是一个左连接查询,连接了"supplier_base"表(使用别名"s")和"business_order_info"表(使用别名"a")。连接条件是"s.sid=a.sid",即通过供应商ID(sid)来关联两个表。
左连接(left join)表示会返回左表(business_order_info)中的所有记录,无论是否有匹配的右表(supplier_base)记录。如果没有匹配的右表记录,相应的字段值将为NULL。
这个连接操作的目的是获取"business_order_info"表中每个订单的供应商信息,包括供应商ID(sid)和供应商名称(sname)。通过这个连接,可以在查询结果中得到每个订单对应的供应商信息。
相关问题
query := rds.DB.Table("business_order_info as a"). Select(`a.boid, a.contract_no, a.bid, b.bname, s.sid, s.sname, w.wid, w.wname, a.order_no, a.ctime, a.sum_num, a.sum_amt, a.pay_amt, a.proc_status, a.status, a.remark`). Joins("left join supplier_base as s on s.sid=a.sid"). Joins("left join business_base as b on b.bid=a.bid"). Joins("left join warehouse_info as w on w.wid=a.wid"). Not("a.status=?", model.Delete)
这段代码是一个查询语句,用于从数据库中获取订单信息。它使用了表别名和多个关联查询(left join),以及一些条件过滤。
查询的主要表是"business_order_info",使用别名"a"。选择的字段包括订单编号(boid)、合同号(contract_no)、商家ID(bid)、商家名称(bname)、供应商ID(sid)、供应商名称(sname)、仓库ID(wid)、仓库名称(wname)、订单号(order_no)、创建时间(ctime)、总数量(sum_num)、总金额(sum_amt)、支付金额(pay_amt)、处理状态(proc_status)、订单状态(status)和备注(remark)。
通过左连接(left join)关联了"supplier_base"表(使用别名"s")和"business_base"表(使用别名"b"),以及"warehouse_info"表(使用别名"w")。这些关联查询用于获取供应商和商家的相关信息。
最后,使用了一个条件过滤,排除了状态为删除(model.Delete)的订单。
请注意,这段代码只是一个查询语句的构建过程,并没有实际执行查询操作。执行查询的代码可能在后续的代码中。
Select('a.bid, a.bname, a.acct_bal, a.buy_Sum_Amt, a.stmt_amt, a.admin_uid, a.user_name, a.status'). Joins("left join business_bal as s on s.bid=a.bid"). Joins("left join user_base as u on u.uid=a.admin_uid"). Joins("left join business_settlement as b on b.uid=a.bid")待结算需要查询stmt_status字段为1的和
若要查询待结算的商家信息,需要在原有的查询语句基础上加上stmt_status字段等于1的筛选条件。修改后的代码如下:
```python
Select('a.bid, a.bname, a.acct_bal, a.buy_Sum_Amt, a.stmt_amt, a.admin_uid, a.user_name, a.status').
Joins("left join business_bal as s on s.bid=a.bid").
Joins("left join user_base as u on u.uid=a.admin_uid").
Joins("left join business_settlement as b on b.uid=a.bid").
Where("b.stmt_status = ?", 1)
```
在原有代码的基础上,使用Where条件筛选出stmt_status字段等于1的记录,以获取待结算的商家信息。