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

Mysql tham gia hai bảng tổng, trong đó và nhóm theo

Bạn đang nhân số tiền thanh toán với số hồ sơ bán hàng, bởi vì bạn đang kết hợp tất cả hồ sơ thanh toán với tất cả hồ sơ bán hàng trước khi tổng hợp số tiền.

Tổng hợp trước và chỉ tham gia sau đó.

Trong trường hợp luôn có thể chỉ có một bản ghi thanh toán cho mỗi ngày, giờ và tên:

select p.name, p.time, p.name, s.sales_total, p.amount
from payments p
join
(
  select date, time, name, sum(total) as total
  from sales
  group by date, time, name
) s
 on s.date = p.date and s.time = p.time and s.name = p.name
where p.date = date '2017-04-01';

Nếu không:

select p.name, p.time, p.name, s.total, p.amount
(
  select date, time, name, sum(amount) as amount
  from payments
  group by date, time, name
) p
join
(
  select date, time, name, sum(total) as total
  from sales
  group by date, time, name
) s
 on s.date = p.date and s.time = p.time and s.name = p.name
where p.date = date '2017-04-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. Kiểu dữ liệu DECIMAL của MySQL

  2. Trợ giúp đệ quy PHP cần thiết để tạo cấu trúc cây

  3. Cập nhật chế độ xem trong MySQL

  4. MySql từ chối sử dụng chỉ mục

  5. phạm vi ngày kép của php mysql