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

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

Группировка записей таблицы в одно поле [D7, IB6.x]


Михаил ©   (2011-05-16 09:26:00) 

Здравствуйте. Уже 2 дня мучаюсь с составлением запроса.
Есть такая таблица. Состоит из 3-х полей

CREATE TABLE ZNAKI (
   ID             INTEGER NOT NULL,
   ZNAKTYPE       VARCHAR(10) NOT NULL,
   NOMER          VARCHAR(10) NOT NULL
);


В ней хранятся такие данные

ID | ZNAKTYPE | NOMER
---------------------------------
1 | Треугольный | 1.1
2 | Треугольный | 1.2
3 | Треугольный | 1.3
4 | Треугольный | 1.4
5 | Треугольный | 1.5
6 | Треугольный | 1.6


Требуется получить такой результат

ZNAKTYPE  | NOMER
----------------------------------------------
Треугольный | 1.1, 1.2, 1.3, 1.4, 1.5, 1.6


Как составить запрос? Знаю что нужно использовать GROUP BY, но еще есть какая-то функция для объединения в лист. Нигде не могу найти. Заранее спасибо за помощь!!!


Михаил   (2011-05-16 11:32:00) [1]

Спасибо всем за советы!!!


Виталий Панасенко(дом)   (2011-05-16 10:49:00) [2]

Перейди на FireBird 2.5, там есть LIST


Anatoly Podgoretsky   (2011-05-16 10:26:00) [3]


> ну потому что несколько записей объединяется в одно поле.
>  Ну хорошо объединение назовем. Неправильно выразился

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

Это список


Anatoly Podgoretsky   (2011-05-16 10:24:00) [4]


> Приведите пример запроса пожалуйста.

Я не работаю с IB уже более 10 лет


Anatoly Podgoretsky   (2011-05-16 10:24:00) [5]


> Михаил   (16.05.11 10:18) [5]
>
> > С чего бы это называть группировкой?
>
>
> ну потому что несколько записей объединяется в одно поле.
>  Ну хорошо объединение назовем. Неправильно выразился

Это список, ничего общего с группировкой, которая работает с аггрегатами.


Михаил   (2011-05-16 10:18:00) [6]


> С чего бы это называть группировкой?


ну потому что несколько записей объединяется в одно поле. Ну хорошо объединение назовем. Неправильно выразился


Михаил   (2011-05-16 10:17:00) [7]

в MySQL есть хорошая функция GROUP_CONCAT, но к сожалению в InterBase она не работает. Есть ли какой-нибудь аналог?
Каким способом еще можно решить задачу?


Михаил   (2011-05-16 10:16:00) [8]


> Anatoly Podgoretsky ©   (16.05.11 10:14) [2]


что значит курсором?
Приведите пример запроса пожалуйста.


Anatoly Podgoretsky   (2011-05-16 10:14:00) [9]

> Михаил  (16.05.2011 09:26:00)  [0]

С чего бы это называть группировкой?
А сделать можно с помощью хранимой процедуры или курсором.


Виталий Панасенко(дом)   (2011-05-16 09:45:00) [10]

в ИБ6 такой функции нету. может в старших версиях и есть.. но точно есть в ФБ с версии 2, list


Наверх

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