Select('a.bid, a.bname, a.acct_bal, a.buy_Sum_Amt, a.admin_uid, a.user_name, a.status'). Joins("left join business_bal as s on s.bid=a.bid")
时间: 2024-04-18 20:29:37 浏览: 19
这段代码是一个查询语句,用于从数据库中获取商家基本信息。它选择了商家ID(bid)、商家名称(bname)、账户余额(acct_bal)、购买总金额(buy_Sum_Amt)、管理员用户ID(admin_uid)、用户名(user_name)和状态(status)这些字段。
通过左连接(left join)关联了"business_bal"表(使用别名"s"),连接条件是"s.bid=a.bid",即通过商家ID(bid)来关联两个表。
左连接(left join)表示会返回左表("business_order_info")中的所有记录,无论是否有匹配的右表("business_bal")记录。如果没有匹配的右表记录,相应的字段值将为NULL。
这个查询的目的是获取商家基本信息,并且返回所有商家账户余额信息,无论是否有匹配的商家账户余额信息。
相关问题
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_amt字段的和
若要查询待结算商家的结算金额总和(stmt_amt字段),需要在原有的查询语句基础上加上stmt_status字段等于1的筛选条件,并使用sum函数对stmt_amt字段进行求和。修改后的代码如下:
```python
Select('a.bid, a.bname, a.acct_bal, a.buy_Sum_Amt, sum(a.stmt_amt) as total_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的记录,并使用sum函数对stmt_amt字段进行求和,将结果命名为total_stmt_amt。这样可以获取待结算商家的结算金额总和。
func AppOperateRecharge(a *decorator.ApiBase) error { logger.AccessLogger.Info("AppOperateRecharge...") resp := adminStruct.BusinessOrderRecharge{} err := a.Ts.Table("business_base as a"). 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("a.bid=?", a.Token.LinkId) return a.ReturnSuccessCustomResponse(resp) }待结算需要查询stmt_status字段为1的stmt_amt字段的和给到结构体待结算货款type BusinessOrderRecharge struct { Bid int64 `json:"bid"` // 商家ID Bname string `json:"bname"` // 商家名称 Acct_Bal int64 `json:"acct_Bal" ` //账面余额 Buy_sum_amt int64 `json:"buy_Sum_Amt" ` //采购货款 Unpaid_amt int64 `json:"unpaid_Amt"` //待结算货款 Stmt_amt int64 `json:"stmt_Amt"` //已结算金额 Admin_uid int64 `json:"admin_Uid"` //管理员 Admin_name string `json:"admin_name"` //管理员姓名 Status string `json:"status"` //商家状态
根据给出的代码,你想要在函数`AppOperRecharge`中查询待结算商家的结算金额总和,并将结果存储到结构体`BusinessOrderRecharge`中。为了实现这个目标,你可以按照以下方式修改代码:
```go
func AppOperateRecharge(a *decorator.ApiBase) error {
logger.AccessLogger.Info("AppOperateRecharge...")
// 创建结构体对象
resp := adminStruct.BusinessOrderRecharge{}
// 查询待结算商家的结算金额总和
err := a.Ts.Table("business_base as a").
Select("a.bid, a.bname, a.acct_bal, a.buy_Sum_Amt, a.stmt_amt, a.admin_uid, a.user_name, a.status, sum(a.stmt_amt) as unpaid_amt").
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("a.bid=?", a.Token.LinkId).
Where("b.stmt_status = ?", 1).
Scan(&resp)
if err != nil {
return err
}
return a.ReturnSuccessCustomResponse(resp)
}
```
在修改后的代码中,我添加了一个新的字段`unpaid_amt`来表示待结算货款(stmt_amt字段的总和)。在查询语句中使用`sum(a.stmt_amt) as unpaid_amt`来计算总和,并将结果存储到`BusinessOrderRecharge`结构体的`unpaid_amt`字段中。同时,我还在查询语句中添加了筛选条件`b.stmt_status = ?`来过滤出stmt_status字段为1的记录。
请注意,这只是一个修改的示例,具体根据你的业务逻辑和数据结构来进行调整。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)