Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.19;
Скачать: CL | DM;

Вниз

Проблема с запросом   Найти похожие ветки 

 
Gennadiy ©   (2003-11-25 18:51) [0]

Уважаемые мастера!!!
Подскажите пожалуйста с такой проблемой в запросе базы Firebird.
Есть таблица MONEY с полями
ID-идентификатор
SUMM-сумма полатежа
TIP-тип платежа (это integer если =1 то приход, если 0-то расход).
DATEPLATES-дата платежа
Так вот мне нужно сделать запрос в результате выполнения которого было число равное разнице между суммой вcего прихода и суммой всего расхода,
что то вроде вот этоого
SELECT SUM(SUMM) from money where tip=1 -
SELECT SUM(SUMM) from money where tip=0


 
Serg   (2003-11-25 18:54) [1]

запросом не сделаешь. пиши прок


 
Johnmen ©   (2003-11-25 18:56) [2]

SELECT SUM(SUMM*tip)-SUM(SUMM*(1-tip)) from money


 
Sandman25 ©   (2003-11-25 18:57) [3]

select sum(summ*(2*tip-1)) from money


 
Vemer ©   (2003-11-25 18:58) [4]

А если так:
Select ((Select Sum(Summ) From Money Where Tip=1) - (Select Sum(Summ) From Money Where Tip=0)) As Raznica From Money


 
Johnmen ©   (2003-11-25 19:00) [5]

>Sandman25 © (25.11.03 18:57)

;-)


 
Vemer ©   (2003-11-25 19:03) [6]

Нам в синхронном плавании надо участвовать.
Мой вариант хоть и самый громозкий, зато не зависит от значений TIP :).


 
Romkin ©   (2003-11-25 19:05) [7]

Угу, только для IB6.x никак не подходит


 
Gennadiy ©   (2003-11-25 19:37) [8]

Спасибо всем!!!!
Предложенные варианты отлично работают.


 
Sandman25 ©   (2003-11-26 10:05) [9]

[5] Johnmen © (25.11.03 19:00)

У нас точно такая же структура таблиц, как и у автора (1/0), так что мне такие запросы снятся по ночам :)
Жаль, что не подумали об этом раньше и не сделали 1/-1. Тогда можно было бы писать просто sum(summ*tip).



Страницы: 1 вся ветка

Текущий архив: 2003.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-62121
Nata Kirhar
2003-12-08 11:23
2003.12.19
Просмоторщик для файлов word


4-62326
Serguar
2003-10-24 12:42
2003.12.19
Как из моего приложения перехватить загрузку других программ


7-62287
denkop
2003-10-14 17:43
2003.12.19
Запись в LPT base+2


1-62024
Tihomirov
2003-12-06 01:33
2003.12.19
Сохранение данных в DLL


3-61922
DBDev
2003-11-24 13:10
2003.12.19
как получить будущее значение ID после опреации Insert?