Select(`s.bid, a.bname, s.acct_bal, s.buy_sum_amt, ifnull(sum(CASE WHEN b.stmt_status = 1 THEN b.stmt_amt ELSE 0 END), 0) as unpaid_amt, ifnull(sum(CASE WHEN i.epay_status=0 and i.contract_no='' and i.link_id=a.bid THEN i.order_amt ELSE 0 END ),0)as pur_no_sett, ifnull(sum(CASE WHEN b.stmt_status = 0 THEN b.stmt_amt ELSE 0 END), 0 )as stmt_amt, a.admin_uid, u.user_name, a.status`). Joins("left join source_pay_info as i on i.link_id=a.bid"). 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.bid=a.bid"). Group("a.bid")
时间: 2024-04-17 16:29:23 浏览: 91
c_app_window.zip_c_app_window.zip
这段代码是一个查询语句,用于从多个表中选择特定的列,并进行连接和聚合操作。以下是查询语句的解释:
- 选择了以下列:`s.bid, a.bname, s.acct_bal, s.buy_sum_amt, a.admin_uid, u.user_name, a.status`。
- 使用`ifnull`函数对一些列进行条件判断和处理。
- 使用`sum`函数对一些列进行求和操作。
- 使用`CASE WHEN`语句对条件进行判断,根据条件返回不同的值。
- 使用`LEFT JOIN`将表进行连接,连接条件分别是`i.link_id=a.bid`、`s.bid=a.bid`、`u.uid=a.admin_uid`和`b.bid=a.bid`。
- 使用`GROUP BY`对结果进行分组,分组依据是`a.bid`列。
这个查询语句的目的是从多个表中获取特定的列,并根据一些条件进行数据处理和聚合。通过连接操作将相关的表关联起来,并使用`GROUP BY`对结果进行分组。最终返回的结果将包含所选列的值,并且根据条件进行了相应的处理和计算。
阅读全文