C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Запрос с результатом вывода одной колонки в две
telepath
Отправлено: 02.03.2005, 17:33


Станционный диспетчер

Группа: Участник
Сообщений: 132



Не подскажете, можно ли сделать такой запрос чтоб из таблицы вида:

type — value
1  — 23
0  — 45
1  — 33
1  — 31
0  — 31

получилось в результате сумма по type=0 и сумма type=1 в двух столбцах. Заранее спасибо.
AVC
Отправлено: 02.03.2005, 17:47


Ветеран

Группа: Модератор
Сообщений: 1583



Один из вариантов.
Select
(Select Sum(value) From ... Where type = 1) as SumType1
,(Select Sum(value) From ... Where type = 2) as SumType2
?From dual

А еще можно использовать возможности сервера.
Gedeon
Отправлено: 03.03.2005, 09:26


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (AVC @ 02/03/2005, 15:47)
?From dual

А бесполезно просить указывать сервер. sad.gif
telepath
Отправлено: 03.03.2005, 13:05


Станционный диспетчер

Группа: Участник
Сообщений: 132



Не хотелось бы просто вязаться на сервер, спасибо, немного понял буду рыться smile.gif
Gedeon
Отправлено: 03.03.2005, 13:16


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (telepath @ 03/03/2005, 11:05)
Не хотелось бы просто вязаться на сервер

Имеется ввиду какой сервер БД или какая БД.
Первый топик читали? smile.gif
AVC
Отправлено: 03.03.2005, 14:04


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

Не хотелось бы просто вязаться на сервер

Ну и зря. Если вы делаете что-то серьезнее, чем домашний каталог фильмов вам придется учитывать особенности сервера. Написание кода с использованием только "чистого SQL" порождает неэффективные решения. Чем быстрее вы это поймете, тем лучше. Да и при выборе сервера нужно исходить не только из собственных знаний, а, в первую очередь, из требований решаемой проблемы.
telepath
Отправлено: 04.03.2005, 14:10


Станционный диспетчер

Группа: Участник
Сообщений: 132



Читал конечно smile.gif
Только у нас должно быть согласование с админами, вот они категорически против вещей типа хранимых процедур итд

Отредактировано telepath — 04/03/2005, 14:13
olegenty
Отправлено: 04.03.2005, 14:20


Ветеран

Группа: Модератор
Сообщений: 2412



интересная точка зрения админов. интересно

1. а как они это аргументируют???
2. а что, админов более высокой квалификации не нашлось???

если использовать сервер только как "плоское хранилище" данных, то сервер не нужен, достаточно либо
1. правил создания каталогов и помещения в них файлов на файл-сервере
либо
2. плоскенького формата, типа DBF.

ставить же серьёзный сервер и не использовать его возможностей (в первую очередь — именно хранимых процедур), это водка без пива (деньги на ветер)
AVC
Отправлено: 04.03.2005, 14:31


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

Только у нас должно быть согласование с админами, вот они категорически против вещей типа хранимых процедур итд

Мда... Интересные админы. А почему бы им не потребовать еще и системнонезависимых решений? Например на java машинах и т.п.? За универсальность — расплата скорость.

Отредактировано AVC — 04/03/2005, 13:32
Gedeon
Отправлено: 04.03.2005, 15:29


Ветеран

Группа: Модератор
Сообщений: 1742



С каких это пор админы решают вопросы построения приложений?
Если это решение начальства — начальство тупое, а админые тупые или ленивые, чтоб его переубедить.
Если у вас в конторе админы могут принимать такие решения — это тупые, зажравшиеся и ленивые админы.

Мне Вас жаль.
AVC правильно написал
QUOTE

За универсальность — расплата скорость.

Сервер то напрягается больше. Можно так и подойти к пределу нормальной работы, что потом новый сервер? Или все ПО перепишите уже с ХП? wink.gif
telepath
Отправлено: 05.03.2005, 12:26


Станционный диспетчер

Группа: Участник
Сообщений: 132



Скорее всего так и будет. sad.gif

Вернуться в Работа с базами данных в C++Builder