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

Вниз

Запрос   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.024 c
8-1096200616
maguk
2004-09-26 16:10
2004.12.26
Как воспроизвести аудио-поток?


9-1093018611
Ландграф Павел
2004-08-20 20:16
2004.12.26
Помогите с геометрией 9-го класса


1-1102739411
Eugeni
2004-12-11 07:30
2004.12.26
TListBox


10-1074607237
morfey-night
2004-01-20 17:00
2004.12.26
динамическое создание TDataModule


1-1103010622
malamba
2004-12-14 10:50
2004.12.26
еще раз о treeview