ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я знаю, что это задавали много раз, но все, что я хочу, является альтернативой.SQL-запрос - кредит, дебетование, баланс
В таблице, как показано ниже:
create table
Account
(Name varchar(20),
TType varchar(5),
Amount int);
insert into Account Values
('abc' ,'c', 500),
('abc', 'c', 700),
('abc', 'd', 100),
('abc', 'd', 200),
('ab' ,'c', 300),
('ab', 'c', 700),
('ab', 'd', 200),
('ab', 'd', 200);
Ожидаемый результат прост:
Name Balance
------ -----------
ab 600
abc 900
Запрос, который работал в:
select Name, sum(case TType when 'c' then Amount
when 'd' then Amount * -1 end) as balance
from Account a1
group by Name.
Все, что я хочу, есть ли какой-либо запрос не поддерживает оператор case (например, подзапрос или самосоединение) для одного и того же результата?
Как насчет DECODE? –
Если ответ удовлетворяет вашему требованию, пожалуйста, ответьте на него как можно скорее. –