Суммируйте из двух таблиц и посчитайте остаток из третьей таблицы [MYSQL] - PullRequest
0 голосов
/ 04 января 2019

Ребята имеют три столбца, хотят сложить значения из двух из них и сравнить результат с другой таблицей.

   table_a
item | value |  
  A  |   20  | 
  B  |   30  | 
  A  |   20  | 

   table_b
item | value |  
  A  |   40  | 
  A  |   10  | 
  C  |   20  | 

   table_c
item | value_max |  
  A  |  100      | 
  B  |  100      | 
  C  |  200      | 

Результаты, которые я хочу достичь, должны выглядеть следующим образом:

item | value_sum |  value_max | balance |
  A  |  90       |    100     |    10   |
  B  |  30       |    100     |    70   |
  C  |  20       |    200     |    180  |

Мой код выглядит так:

  select sum(value) as value_sum,
sum(value) as value_sum, value_max-sum(value) as balance
from (
    select value
    from table_a  LEFT JOIN value_max on table_a.item  = table_c.value_max
    union all
    select value
    from table_b LEFT JOIN value_max  on table_b.item  = table_c.value_max 
)  t LEFT JOIN value_max on item  = table_c.value_max  GROUP by item

Но здесь что-то не так. Пожалуйста, помогите:)

...