Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL SELECT SUM dựa trên một bảng khác

Tôi nghĩ rằng tôi có một chút lộn xộn trong FK của bạn, nhưng ít nhất bạn có tinh thần;)

SQL Fiddle

Thiết lập lược đồ MySQL 5.6 :

Truy vấn 1 :

SELECT
    R.budgetid_fk,
    SUM(R.quantity),
    SUM(R.quantity * I.price * COALESCE(CC.amount,1)) as total, 
    B.budgetid,
    B.budget_month
FROM tb_pro_request R 
INNER JOIN tb_items I 
  ON R.itemid_fk = I.itemid
INNER 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_fk
WHERE
    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

Kết quả :

|    budgetid_fk | SUM(R.quantity) |             total |       budgetid | budget_month |
|----------------|-----------------|-------------------|----------------|--------------|
| BU201803000001 |               7 | 575.2840143424692 | BU201803000001 |   2018-03-01 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql hiển thị hàng dưới dạng cột

  2. cập nhật với câu lệnh tham gia mysql?

  3. mariadb Regexp đôi khi trả về trống trong thủ tục được lưu trữ

  4. MySQL max_allowed_packet param là gì?

  5. Làm thế nào để hiển thị tốt nhất trong Terminal một MySQL SELECT trả về quá nhiều trường?