我想我对您的FK感到有些困惑,但至少您有精神;)
SQL
MySQL 5.6模式设置 :
查询1 :
SELECt R.budgetid_fk, SUM(R.quantity), SUM(R.quantity * I.price * COALESCE(CC.amount,1)) as total, B.budgetid, B.budget_monthFROM tb_pro_request R INNER JOIN tb_items I ON R.itemid_fk = I.itemidINNER JOIN tb_budgets B ON R.budgetid_fk = B.budgetid AND B.active = 'Y'LEFT JOIN tb_currency_converters CC ON CC.from_currencyid_fk = I.currencyid_fk AND CC.to_currencyid_fk = B.currencyid_fkWHERe R.investmentid_fk = '' AND ( R.approval_status = 'P' OR R.approval_status = 'A' ) AND DATE_FORMAT(B.budget_month,'%Y-%m') = '2018-03' AND B.departmentid_fk = 'DP0003'GROUP BY R.budgetid_fk
结果 :
| budgetid_fk | SUM(R.quantity) | total | budgetid | budget_month ||----------------|-----------------|-------------------|----------------|--------------|| BU201803000001 | 7 | 575.2840143424692 | BU201803000001 | 2018-03-01 |



