Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизЗапрос Найти похожие ветки
← →
GanibalLector © (2004-11-23 01:43) [0]Есть такие поля : kol,type
Необходимо summ(kol) where type>1 !!!минус!!! summ(kol) where type=0
Типа как?Что-то немогу понять...
← →
GanibalLector © (2004-11-23 01:44) [1]В ХП могу,но хотель бы без
← →
GanibalLector © (2004-11-23 01:50) [2]Ёпрс...пардоньте за ошибки!
sum и хотел
З.Ы. Пока трезв
← →
Deniz © (2004-11-23 08:15) [3]Как должно быть показано?
select distinct
(select sum(kol) from table where type >= 1) as sum_1,
(select -sum(kol) from table where type = 0) as sum_0
from table
В firebird есть case
← →
GanibalLector © (2004-11-23 09:35) [4]2 Deniz
> как должно быть показано?
Одним числом.[3] пожет два
← →
stud © (2004-11-23 10:25) [5]условия по агрегатным функциям вроде having надо использовать
← →
Deniz © (2004-11-24 06:55) [6]
> GanibalLector © (23.11.04 09:35) [4]
> 2 Deniz
> > как должно быть показано?
> Одним числом.[3] пожет два
Я балдею, а запятую после sum_1 убрать и чуть-чуть подправить не судьба?select distinct
(select sum(kol) from table where type >= 1) -
(select sum(kol) from table where type = 0) as sum_0
from table
← →
Sandman25 © (2004-11-24 09:58) [7][6] Deniz © (24.11.04 06:55)
В качестве внешней таблицы лучше использовать другую, желательно с одной строкой данных.
← →
Vemer © (2004-11-24 10:02) [8]Вот:
Select Sum(kol * ((Type*2)-1) from table
А еще проще поменять 0 на -1 в таблице.
← →
Johnmen © (2004-11-24 10:06) [9]>Vemer © (24.11.04 10:02) [8]
А на что поменять type, больший 1 ?
:)
← →
Vemer © (2004-11-24 10:21) [10]To JohnMen
Пример и предложение по замене - под конкретную задачу, и др. данных нет )). Обычно "тип" имеет значения (-1 и 1, иногда 0 (нейтральная операция)).
← →
Johnmen © (2004-11-24 10:24) [11]>Vemer © (24.11.04 10:21) [10]
Да нормальный пример. Только типов может быть, и как правило бывает, больше 2/3.
← →
Sandman25 © (2004-11-24 10:24) [12]>А на что поменять type, больший 1 ?
Написать UDF типа sign?
← →
Vemer © (2004-11-24 10:32) [13]Структуру таблиц думать надо, чтобы потом данные из них просто выковыривались. С точки зрения "типа" операции могут быть (-1, 1 и 0) а по "статусу" - сколько угодно (поставка, продажа, заказ, кредит, изменение пая, использование на фирме и т.д. и т.п.). Но все "статусы" вписываются в 3 "типа" .
← →
Johnmen © (2004-11-24 10:39) [14]>Sandman25 © (24.11.04 10:24) [12]
>Написать UDF типа sign?
Знак можно выделить и без исп-ия УДФ.
>Vemer © (24.11.04 10:32) [13]
Я имел в виду широкое понятие "тип". Напр. порода собак.
← →
Sandman25 © (2004-11-24 10:45) [15][14] Johnmen © (24.11.04 10:39)
Если есть CASE или IIF? Или преобразованием в CHAR и анализом первого символа?
← →
Johnmen © (2004-11-24 10:47) [16]>Sandman25 © (24.11.04 10:45) [15]
Нет. Используя CAST к целому.
← →
Sandman25 © (2004-11-24 10:54) [17][16] Johnmen © (24.11.04 10:47)
А если у нас уже целое?
Как из -3 сделать -1?
← →
Johnmen © (2004-11-24 11:08) [18]>Sandman25 © (24.11.04 10:54) [17]
Выделение знака (sign) для целочисленного типа поля:SELECT
CAST(CAST(integerfield-0.5 AS INT)+1.5 AS INT)-1-integerfield
FROM ...
← →
Sandman25 © (2004-11-24 11:14) [19][18] Johnmen © (24.11.04 11:08)
Красиво. Спасибо, запомню идею :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c