Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mysql bergabung dengan dua tabel jumlah, di mana dan kelompokkan dengan

Anda mengalikan jumlah pembayaran dengan jumlah catatan penjualan, karena Anda menggabungkan semua catatan pembayaran dengan semua catatan penjualan sebelum menjumlahkan jumlahnya.

Agregat dulu, baru bergabung kemudian.

Jika hanya ada satu catatan pembayaran per tanggal, waktu dan nama:

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';

Jika tidak:

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. Terlalu banyak kesalahan membuka file di Ubuntu 8.04

  2. PHP tidak menampilkan hasil dari kueri MYSQL

  3. Apa gunanya prosedur tersimpan?

  4. Lewati PHP Array melalui jQuery Ajax

  5. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException Masukkan kesalahan mysql