Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по SELECT


Страницы:   1 2

Юлия ©   (2003-09-03 09:46:00) 

Уважаемые мастера, подскажите, пожалуйста!
Есть запрос:
SELECT a.nazv,a.kol from a
Результат:
Ботинки 5
Рубашки 6
Пуговицы 3
Ботинки 3

Как сгруппировать, чтобы было:
Ботинки 8
Рубашки 6
Пуговицы 3


Sandman25   (2003-09-03 12:54:00) [1]

[32] Юлия (03.09.03 12:26)

Не надо арифметикой заниматься. Надо взять книгу по SQL, как Anatoly Podgoretsky советует.


Anatoly Podgoretsky   (2003-09-03 12:32:00) [2]

Юлия (03.09.03 12:19) [30]
Не по Дельфи надо читать, а возьми Грабера - введение в SQL


Anatoly Podgoretsky   (2003-09-03 12:32:00) [3]

Юлия (03.09.03 12:19) [30]
Не по Дельфи надо читать, а возьми Грабера - введение в SQL


Юлия   (2003-09-03 12:26:00) [4]

Sandman25: просто хотела узнать, как это сделать ГРАМОТНО!
Перебрать записи и заняться арифметикой могу и сама.


MsGuns   (2003-09-03 12:19:00) [5]

>Юлия (03.09.03 12:12) [27]
>А если запрос выполнен, как получить сумму по столбцу?

Составить второй запрос с условиями выборки=основному, но с суммированием и выполнить его.


Юлия   (2003-09-03 12:19:00) [6]

Я книжку по дельфи на ночь читаю. Без шуток.
Я действительно запуталась.


Sandman25   (2003-09-03 12:14:00) [7]

Юлия, прочитайте [26] stone © (03.09.03 12:12)


MsGuns   (2003-09-03 12:13:00) [8]

Откуда взялось 11 ? Есть какой-то признак, отделяющий рубашки с пуговицами от ботинок ? Типа групп товаров ? Если есть, то в подзапросе нужна связка через это поле в операторе where

Юлечка, а самой поэкспериментировать не судьба ? Так и будем после каждого чиха за таблеткой в форум бегать ?


Юлия   (2003-09-03 12:12:00) [9]

А если запрос выполнен, как получить сумму по столбцу?


stone   (2003-09-03 12:12:00) [10]

2 Юлия (03.09.03 12:05) [23]

Возможно и так, и еще как угодно, достаточно хотя бы на секундочку задуматься над тем что Вы пишите. Нередко помогает чтение книг.


Mike Kouzmine   (2003-09-03 12:11:00) [11]

поставь условие на (select sum(prodaj.OP_dol) from prodaj)


Sandman25   (2003-09-03 12:09:00) [12]

Добавьте where nom_prep > 10 во вложенный select (тот, который знаменатель считает).


Юлия   (2003-09-03 12:05:00) [13]

Спасибо, но...
если так:

SELECT prodaj.nom_prep, sum(prodaj.OP_dol)/(select sum(prodaj.OP_dol) from prodaj) from prodaj group by prodaj.nom_prep
query1.SQL.Add(" where nom_prep>10");
query1.SQL.Add(" group by prodaj.nom_prep");
Где поля nom_prep:
Ботинки 15
Рубашки 1
Пуговицы 2

В результате выдает:
Рубашки 8/17
Пуговицы 3/17

А нужно:
Рубашки 8/11
Пуговицы 3/11

Такое возможно?

База: paradox


Sergey13   (2003-09-03 11:56:00) [14]

2MsGuns © (03.09.03 11:48) [21]
>Вместто "17" надо встроенный Select SUM(prodaj.OP_dol from prodaj

Только желательно отработать его предварительно и записать результат в переменную, а в запросе делить на нее, иначе наверное (надо проверять) подзапрос будет отрабатываться для каждой строки - запаришься ждать.


MsGuns   (2003-09-03 11:48:00) [15]

Вместто "17" надо встроенный Select SUM(prodaj.OP_dol from prodaj


MadDogNT   (2003-09-03 11:47:00) [16]

Как всегда кто-то меня опередит!
На этот раз это был Stone:))


stone   (2003-09-03 11:45:00) [17]

SELECT prodaj.nom_prep, sum(prodaj.OP_dol)/(select sum(prodaj.OP_dol) from prodaj) from prodaj group by prodaj.nom_prep

а вообще при составлении вопроса неплохо бы указать СУБД и компоненты доступа к данным, так как при этом есть масса способов уиличения быстродействия системы за счет ряда методов.


MadDogNT   (2003-09-03 11:45:00) [18]

Надо делать подчиненный запрос


Юлия   (2003-09-03 11:34:00) [19]

Нет, имеется вв виду, что 17 - это сумма по столбцу (8+6+3)


stone   (2003-09-03 11:27:00) [20]

Query1.SQL.Add("SELECT prodaj.nom_prep,sum(prodaj.OP_dol)/17 from prodaj");
query1.SQL.Add(" group by prodaj.nom_prep");


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо