Суммирование двух строк из одного столбца в одной таблице

#sql-server #tsql

#sql-сервер #tsql

Вопрос:

У меня есть столбец с именем price. У меня есть две строки в этом столбце. Как вычесть row2-row1

Таблица = таблица1
У него есть имя столбца,
цена Столбец цены имеет значения как

 Name      price
pen        123.24
pencil     2345.6
 

Как вычесть две строки из столбца цены (2345.6-123.24) с помощью sql-запроса.

Результат должен быть похож на 2222.36.

Это получается путем вычитания 2345.6-123.24

Комментарии:

1. Вам нужен способ определить порядок ваших строк. Или вы могли бы использовать LEAD / LAG и ABS.

Ответ №1:

 SELECT(r2.price - r1.price) AS total1
FROM table r1 CROSS JOIN
     table r2
WHERE t1.name = 'pen' AND t2.name = 'pencil';
 

Ответ №2:

Если вы знаете «имя» значения, которое необходимо вычесть, вы могли бы сделать

 Select sum(case when name = 'pen' then price * -1 else price end) from table