Search code examples
mysqlsuminner-join

MySQL Inner join and sum two columns


I have the following tables

TABLE: appointments

ID | PRICE | PAID
48 |  100  | 180

TABLE: appointments_products

ID | APPOINTMENT_ID | PRODUCT_ID | TOTAL
10 |       48       |      1     | 30
11 |       48       |      9     | 30
12 |       48       |      6     | 30

I Would like to somehow run a MySQL query that will:

a) join the two tables, SUM the "TOTAL" of appointments_products for each appointment_id and if the "PAID" is not equal of the PRICE (from appointments table) + TOTAL (from appointments_products table) then to show it.

This is what I have done so far:

select a.*, b.appointment_id as AppId, b.total as ProdTotal 
from appointments a 
INNER JOIN appointments_products b ON a.id = b.appointment_id

But this query does not sum the total for each appointment_id


Solution

  • select a.ID,a.PRICE,a.PAID,a.id as AppId,
           sum(b.total) as ProdTotal 
    from appointments a 
    INNER JOIN appointments_products b ON a.id = b.appointment_id
    group by a.ID,a.PRICE,a.PAID;