Складывать количество двух подмостков

Я хочу сложить частичное количество (таблицы Action) с общим количеством (таблицы Move), это количество находится в двух подмостках, ему возможно удаваться?:

Таблица Move имеет пойдите, ямс, и общее количество (он инициализируется со стандартной настройкой)

Таблица Action имеет пойдите, type, и частичное количество

SELECT SUM(m.cantidad) FROM Move m INNER JOIN Action a ON a.id = m.idA 

Я хочу суммировать или оно остаться (согласно type таблицы Action) частичное количество и изменять общее количество (у которого есть начальная стоимость)

если type 0 тогда, он прибавляется, иначе остается, полная сумма должна бы быть новым общим количеством

0
задан 05.11.2019, 05:58
1 ответ

Сумма из-за id:

select v.id, sum(v.cantidad) as cantidad
from 
(
    select id as id, sum(cantidad) as cantidad 
    from "move"
    group by id
    union
    select id, 
    sum(case when type=0 then cantidad else cantidad*(-1) end)
    from "action"
    group by id
) v
group by v.id

Полная сумма:

select sum(v.cantidad) as cantidad
from 
(
    select id as id, sum(cantidad) as cantidad 
    from "move"
    group by id
    union
    select id, 
    sum(case when type=0 then cantidad else cantidad*(-1) end)
    from "action"
    group by id
) v

Я Сделал доказательства с Microsoft SQL Server 2008 R2:

introducir la descripción de la imagen aquí

0
ответ дан 01.12.2019, 12:45
  • 1
    @HarwinEdilPerezSalinal у меня выходит эта ошибка SELECTs to the left and right of СОЮЗ do not have the same number of result columns – because 06.11.2019, 00:33
  • 2
    @because. Издайте я ответы добавляя изображение результатов консультаций в доказательствах, которые я сделал с М SQL server2008R2. – Harwin Edil Perez Salinas 06.11.2019, 02:13

Теги

Похожие вопросы