![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Посогите построить SQL запрос [D6]
MaD © (2003-11-04 13:51:00)
Есть база с полями вида C1, C2, C3 ... C31. Значения полей - целые числа. Как построить запрос чтобы в выборке
оказались поля для которых Sum(Cn)<0?
ЮЮ (2003-11-06 03:34:00) [1]
>У него записи в столбцах ихображены ИМХО
То есть вопрос дожен звучать так В базе 5 записей. Нужно показать все записи, но скрыть в Гриде стодбцы, сумма по которым = 0 ?. Но тогда и решение надо искать в другой плоскости, причем здесь фильтры !
Sandman25 (2003-11-05 12:34:00) [2]
[21] ЮЮ © (05.11.03 04:05)
У него записи в столбцах ихображены ИМХО.
[22] Beginner3000 (05.11.03 05:18)
Согласен. Именно об этом и писали в [18] и [20]
Beginner3000 (2003-11-05 05:18:00) [3]
это имхо через 2 таблицы делать надо
тогда не будет извратов
ЮЮ (2003-11-05 04:05:00) [4]
>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
Разве предложенные данные соответстуют структуре? Что там за С... слева от строк? И почему именно две строки получается?
}|{yk (2003-11-04 17:21:00) [5]
Таблица не нормализованная. Это фактически не таблица а отчет. Нормализуй сначала, а потом уж делай запросы
Johnmen (2003-11-04 16:33:00) [6]
Если верно осознаю (в чем есть сомнения), то см. [2]
Sandman25 (2003-11-04 16:23:00) [7]
[9] MaD (04.11.03 15:44)
Судя по [9] MaD (04.11.03 15:44), таблица спроектирована неверно, добиться того, чего хочет автор, невозможно без предварительных запросов с определением того, нужно ли считывать данное конкретное поле Ci.
DenK_vrtz (2003-11-04 16:18:00) [8]
"смешались в кучу кони, люди..." (с)
[9]+[11]+[15] - сплошные противоречия! :)
Sandman25 (2003-11-04 16:10:00) [9]
>Подкиньте хоть теоретическую идею, я с Вами подумаю.
[13] Sandman25 © (04.11.03 16:02) работает, проверено.
MaD (2003-11-04 16:07:00) [10]
>>Johnmen
структура
С1 numeric 5,2
С2 numeric 5,2
С3 numeric 5,2
Ребят, все спрашиваете, спрашиваете...
Подкиньте хоть теоретическую идею, я с Вами подумаю.
DenK_vrtz (2003-11-04 16:03:00) [11]
подождем...
:)
Sandman25 (2003-11-04 16:02:00) [12]
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
Johnmen (2003-11-04 15:59:00) [13]
>MaD
Для полной ясности приведи структуру таблицы...
А то какие-то непонятки имеют место быть...:)
MaD (2003-11-04 15:56:00) [14]
>>DenK_vrtz
Точно точно!
DenK_vrtz (2003-11-04 15:49:00) [15]
а С1..Сn - точно поля таблицы, а не значения одного поля?
MaD (2003-11-04 15:44:00) [16]
>>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, придется динамически генерить запрос.
Johnmen (2003-11-04 14:39:00) [17]
>MaD
И еще... Приведи конкретные исходные данные в таблице и какой набор данных хочешь получить по ним...
DenK_vrtz (2003-11-04 14:20:00) [18]
формируюй текст запроса динамически
MaD (2003-11-04 14:17:00) [19]
>> Johnmen
Использую TQuery для табдицы DBF.
Johnmen (2003-11-04 14:08:00) [20]
Выдумать можно... Но ты не указал тип СУБД.