Форум: "Базы";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
ВнизПосогите построить SQL запрос Найти похожие ветки
← →
MaD (2003-11-04 13:51) [0]Есть база с полями вида C1, C2, C3 ... C31. Значения полей - целые числа. Как построить запрос чтобы в выборке
оказались поля для которых Sum(Cn)<0?
← →
stud (2003-11-04 13:53) [1]having sum(cn)<0
← →
Johnmen (2003-11-04 13:54) [2]Запрос не предполагает переменное количество полей !
← →
MaD (2003-11-04 13:59) [3]>>Johnmen
Так что?, нельзя выдумать чтото типа:
select *
from bd
where Sum(bd.*)>0
← →
}|{yk (2003-11-04 14:06) [4]Запрос так сделать не получится. Реляционная алгебра, понимаешь. Попробуй сделать то, что тебе нужно в OnFilterRecord
← →
Johnmen (2003-11-04 14:08) [5]Выдумать можно... Но ты не указал тип СУБД.
← →
MaD (2003-11-04 14:17) [6]>> Johnmen
Использую TQuery для табдицы DBF.
← →
DenK_vrtz (2003-11-04 14:20) [7]формируюй текст запроса динамически
← →
Johnmen (2003-11-04 14:39) [8]>MaD
И еще... Приведи конкретные исходные данные в таблице и какой набор данных хочешь получить по ним...
← →
MaD (2003-11-04 15:44) [9]>>Johnmen
исходные данные в таблице
C1 0,0,0,0,0
C2 0,1,0,0,0
C3 0,0,0,0,0
C4 0,0,1,1,0
необходимо получить
C2 0,1,0,0,0
C4 0,0,1,1,0
Но похоже как говорит DenK_vrtz, придется динамически генерить запрос.
← →
DenK_vrtz (2003-11-04 15:49) [10]а С1..Сn - точно поля таблицы, а не значения одного поля?
← →
MaD (2003-11-04 15:56) [11]>>DenK_vrtz
Точно точно!
← →
Johnmen (2003-11-04 15:59) [12]>MaD
Для полной ясности приведи структуру таблицы...
А то какие-то непонятки имеют место быть...:)
← →
Sandman25 (2003-11-04 16:02) [13]select sum(c1)
from table
having sum(c1) < 0
union all
select sum(c2)
from table
having sum(c2) < 0
...
union all
select sum(c31)
from table
having sum(c31) < 0
← →
DenK_vrtz (2003-11-04 16:03) [14]подождем...
:)
← →
MaD (2003-11-04 16:07) [15]>>Johnmen
структура
С1 numeric 5,2
С2 numeric 5,2
С3 numeric 5,2
Ребят, все спрашиваете, спрашиваете...
Подкиньте хоть теоретическую идею, я с Вами подумаю.
← →
Sandman25 (2003-11-04 16:10) [16]>Подкиньте хоть теоретическую идею, я с Вами подумаю.
[13] Sandman25 © (04.11.03 16:02) работает, проверено.
← →
DenK_vrtz (2003-11-04 16:18) [17]"смешались в кучу кони, люди..." (с)
[9]+[11]+[15] - сплошные противоречия! :)
← →
Sandman25 (2003-11-04 16:23) [18][9] MaD (04.11.03 15:44)
Судя по [9] MaD (04.11.03 15:44), таблица спроектирована неверно, добиться того, чего хочет автор, невозможно без предварительных запросов с определением того, нужно ли считывать данное конкретное поле Ci.
← →
Johnmen (2003-11-04 16:33) [19]Если верно осознаю (в чем есть сомнения), то см. [2]
← →
}|{yk (2003-11-04 17:21) [20]Таблица не нормализованная. Это фактически не таблица а отчет. Нормализуй сначала, а потом уж делай запросы
← →
ЮЮ (2003-11-05 04:05) [21]>MaD (04.11.03 16:07) [15]
структура
С1 numeric 5,2
С2 numeric 5,2
С3 numeric 5,2
>MaD (04.11.03 15:44) [9]
исходные данные в таблице
C1 0,0,0,0,0
C2 0,1,0,0,0
C3 0,0,0,0,0
C4 0,0,1,1,0
необходимо получить
C2 0,1,0,0,0
C4 0,0,1,1,0
Разве предложенные данные соответстуют структуре? Что там за С... слева от строк? И почему именно две строки получается?
← →
Beginner3000 (2003-11-05 05:18) [22]это имхо через 2 таблицы делать надо
тогда не будет извратов
← →
Sandman25 (2003-11-05 12:34) [23][21] ЮЮ © (05.11.03 04:05)
У него записи в столбцах ихображены ИМХО.
[22] Beginner3000 (05.11.03 05:18)
Согласен. Именно об этом и писали в [18] и [20]
← →
ЮЮ (2003-11-06 03:34) [24]>У него записи в столбцах ихображены ИМХО
То есть вопрос дожен звучать так В базе 5 записей. Нужно показать все записи, но скрыть в Гриде стодбцы, сумма по которым = 0 ?. Но тогда и решение надо искать в другой плоскости, причем здесь фильтры !
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.01 c