Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Группировка записей, FireBird 2.5 
V
    Опции темы
former
Дата 28.5.2009, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



Добрый день!
Необходимо сгруппировать записи но полю GROUPID.
В запросе следующего вида:
Код

SELECT
    GSSJ.GSSJOURNALID,
    GSSJ.RESCUERCOD,
    G.GROUPID,
    ('Группа №' || G.GROUPNUM || ' "' || C.COURSENAME || '"  с ' || 
     G.STARTDATE || ' по ' || G.ENDDATE || ' ' || T.STERRITORYNAME) AS HEADR,
    (GSSJ.LASTNAME || ' ' || GSSJ.FIRSTNAME || ' ' || GSSJ.FATHERNAME) AS FIO,
    (GSSJ.BITHDAY || ' ' || GSSJ.PASSPORTSN || ' ' || GSSJ.PASSPORTNUM) AS BPASS,
    GSSJ.HADDRESS,
    CO.COMPANYID,
    P.POSITIONID,
    (CO.COMPANYNAME || ' ' || P.SPOSITIONNAME) AS COMP,
    S.SPECIALITYID,
    (GSSJ.EXPERIENCE || ' ' || E.SEDUCATIONNAME) AS WRED,
    A.APROTOCOLID,
    ('ат. пр. №' || A.APROTOCOLNUM || ' от ' || A.APROTOCOLDATE) AS APROT,
    GSSJ.BOOKNUM,
    GSSJ.CERTNUM,
    GSSJ.TOKENNUM,
    GSSJ.NOTES    
FROM GSSJOURNAL AS GSSJ
    INNER JOIN GROUPS AS G
        INNER JOIN COURSES AS C
           ON C.COURSEID = G.COURSEID
         INNER JOIN TERRITORIES AS T
           ON T.TERRITORYID = G.TERRITORYID
      ON G.GROUPID = GSSJ.GROUPID
    INNER JOIN COMPANIES AS CO
      ON CO.COMPANYID = GSSJ.COMPANYID 
    INNER JOIN POSITIONS AS P
      ON P.POSITIONID = GSSJ.POSITIONID
    INNER JOIN SPECIALITIES  AS S
        INNER JOIN EDUCATIONS AS E
           ON E.EDUCATIONID = S.EDUCATIONID
      ON S.SPECIALITYID = GSSJ.SPECIALITYID
    INNER JOIN APROTOCOLS AS A
      ON A.APROTOCOLID = GSSJ.APROTOCOLCOD
GROUP BY G.GROUPID
ORDER BY GSSJ.GSSJOURNALID DESC

возникает ошибка:
Код

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).


Что делаю не так? smile 


Это сообщение отредактировал(а) former - 28.5.2009, 14:32


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 28.5.2009, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата(former @  28.5.2009,  14:17 Найти цитируемый пост)
GROUP BY GROUPID G.GROUPID

а между GROUPID и G.GROUPID ничего не пропустил?
PM MAIL   Вверх
former
Дата 28.5.2009, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



Цитата(Akella @  28.5.2009,  14:31 Найти цитируемый пост)
а между GROUPID и G.GROUPID ничего не пропустил? 

Это я при редактировании поста ошибся. А так, без изменений.
 smile 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Gluttton
Дата 28.5.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Код

GROUP BY G.GROUPID, GSSJ.GSSJOURNALID


Или такие данные не подходят?


Woops, как всегда сначала пишу, потом думаю...

Это сообщение отредактировал(а) Gluttton - 28.5.2009, 15:46


--------------------
Слава Україні!
PM MAIL   Вверх
former
Дата 28.5.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



Gluttton, не-е-е. smile 

Таблица представляет собой журнал регистрации выдачи документов. В ней нет агрегатных функций. А задача состоит в том, что бы сгруппировать записи по группам.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Gluttton
Дата 28.5.2009, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Цитата

Таблица представляет собой журнал регистрации выдачи документов. В ней нет агрегатных функций. А задача состоит в том, что бы сгруппировать записи по группам.


Ну дык, тогда просто одним ORDER BY без GROUP BY:
Код

ORDER BY G.GROUPID, GSSJ.GSSJOURNALID DESC


Групировка подразумевает "ужимание" с "обобщением", т.е. какая то информация теряется (точнее переводиться из "первообразной" в статистическую).

Это сообщение отредактировал(а) Gluttton - 28.5.2009, 16:04


--------------------
Слава Україні!
PM MAIL   Вверх
former
Дата 28.5.2009, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



Цитата(Gluttton @  28.5.2009,  16:01 Найти цитируемый пост)
Ну дык, тогда просто одним ORDER BY без GROUP BY:
Выделить всёкод SQL
1:ORDER BY G.GROUPID, GSSJ.GSSJOURNALID DESC


 smile туплю, стыдно. smile +


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0879 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.