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

Mysql bergabung dan jumlahnya menggandakan hasil

Ini berlipat ganda karena Anda memiliki judul yang diulang dalam tabel dana dan pendapatan. Ini mengalikan jumlah catatan yang cocok. Ini cukup mudah untuk melihat apakah Anda menghapus fungsi agregat dan melihat data mentah. Lihat di sini

Cara untuk menyiasatinya adalah dengan membuat tampilan inline dari agregat Anda dan menggabungkan hasil tersebut.

SELECT R.title_id, 
       R.revenue, 
       R.cost, 
       F.interest 
FROM   (SELECT title_id, 
               Sum(revenue) revenue, 
               Sum(cost)    cost 
        FROM   revenue 
        GROUP  BY revenue.title_id) r 
       LEFT JOIN (SELECT title_id, 
                         Sum(interest) interest 
                  FROM   fund 
                  GROUP  BY title_id) f 
              ON r.title_id = F.title_id 

keluaran

| TITLE_ID | REVENUE | COST | INTEREST |
----------------------------------------
|        1 |      30 |   11 |       30 |
|        2 |      30 |   11 |       30 |
|        3 |      30 |   11 |       30 |
|        4 |      30 |   11 |       30 |

demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan semua ID yang dimasukkan saat memasukkan beberapa baris menggunakan satu kueri

  2. Mengubah kolom Tabel Mysql menjadi peka huruf besar-kecil

  3. Pengecualian Java JDBC MySQL:Operasi tidak diizinkan setelah ResultSet ditutup

  4. Mungkinkah menghapus semuanya setelah 'spasi' di bidang MySQL?

  5. Laravel:Data string, terpotong kanan:1406 Data terlalu panjang untuk kolom