Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка при группировке полей 
V
    Опции темы
dikiy
Дата 10.1.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 23.6.2005

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



база аксес при выполнении запроса выдается ошибка (аксесовская похоже)
Попытка выполнить запрос, который не включает указанное выражение 'n4' как часть статистической функции или группы. вот код sql
Код

select  '97/102', n4,n6,sum(n8),sum(n12),sum(n13) from лист1
union  all
select '97/102', n4,n6,sum(n8),sum(n12),sum(n13)  from лист2
union  all
select '97/92', n4,n6,sum(n8),sum(n12),sum(n13)  from лист3
union  all
select '97/92',  n4,n6,sum(n8),sum(n12),sum(n13)  from лист4
union  all
select '97/921', n4,n6,sum(n8),sum(n12),sum(n13)  from лист5
group by n4,n6,n8


PM MAIL   Вверх
ТоляМБА
Дата 11.1.2007, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

Репутация: 3
Всего: 252



Group by привязывай к КАЖДОМУ селекту а не только к последнему.

Цитата(dikiy @  10.1.2007,  13:30 Найти цитируемый пост)
group by n4,n6,n8
 А n8 тута зачем???

PM   Вверх
DimW
Дата 11.1.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 5
Всего: 44



предположил что групперовать тебе нужно все union

Код

select n1, n4, n6, sum(n8), sum(n12), sum(n13)
from (select  '97/102' as n1, n4, n6, sum(n8) as n8, sum(n12) as n12, sum(n13) as n13 from ëèñò1
      union  all
      select '97/102' as n1, n4, n6,  sum(n8) as n8, sum(n12) as n12, sum(n13) as n13  from ëèñò2
      union  all
      select '97/92' as n1, n4, n6, sum(n8) as n8, sum(n12) as n12, sum(n13) as n13  from ëèñò3
      union  all
      select '97/92' as n1,  n4, n6,  sum(n8) as n8, sum(n12) as n12, sum(n13) as n13  from ëèñò4
      union  all
      select '97/921' as n1, n4, n6,  sum(n8) as n8, sum(n12) as n12, sum(n13) as n13  from ëèñò5)
group by n1, n4, n6

PM MAIL ICQ   Вверх
ТоляМБА
Дата 11.1.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

Репутация: 3
Всего: 252



Цитата(DimW @  11.1.2007,  13:43 Найти цитируемый пост)
предположил
 А попробовать на акцессе долго??? Да он тебе на первом же 
Цитата(DimW @  11.1.2007,  13:43 Найти цитируемый пост)
select  '97/102' as n1, n4, n6, sum(n8) as n8, sum(n12) as n12, sum(n13) as n13 from ëèñò1
 вывалит ошибку!
Кстати dikiy так же и предполагал, иходя из его описания  smile 

PM   Вверх
DimW
Дата 11.1.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 5
Всего: 44



Цитата(ТоляМБА @  11.1.2007,  14:01 Найти цитируемый пост)
А попробовать на акцессе долго??? Да он тебе на первом же 

Цитата(DimW @  11.1.2007,  13:43 )
select  '97/102' as n1, n4, n6, sum(n8) as n8, sum(n12) as n12, sum(n13) as n13 from ëèñò1

 вывалит ошибку!


попробывал, ща поправлю.


Код

select n1, n4, n6, sum(f_n8), sum(f_n12), sum(f_n13)
from (select  '97/102' as n1, n4, n6, sum(n8) as f_n8, sum(n12) as f_n12, sum(n13) as f_n13 from ëèñò1
      group by '97/102', n4, n6
      union  all
      select '97/102' as n1, n4, n6,  sum(n8) as f_n8, sum(n12) as f_n12, sum(n13) as f_n13  from ëèñò2
      group by '97/102', n4, n6
      union  all
      select '97/92' as n1, n4, n6, sum(n8) as f_n8, sum(n12) as f_n12, sum(n13) as f_n13  from ëèñò3
      group by '97/92', n4, n6
      union  all
      select '97/92' as n1,  n4, n6,  sum(n8) as f_n8, sum(n12) as f_n12, sum(n13) as f_n13  from ëèñò4
      group by '97/92', n4, n6
      union  all
      select '97/921' as n1, n4, n6,  sum(n8) as f_n8, sum(n12) as f_n12, sum(n13) as f_n13  from ëèñò5
      group by '97/921', n4, n6)
group by n1, n4, n6


Это сообщение отредактировал(а) DimW - 11.1.2007, 14:52
PM MAIL ICQ   Вверх
DimW
Дата 12.1.2007, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 5
Всего: 44



правельней даже будет так:

Код

select n1, n4, n6, sum(n8), sum(n12), sum(n13)
from (select  '97/102' as n1, n4, n6, n8, n12, n13 from лист1
      union  all
      select '97/102' as n1, n4, n6, n8, n12, n13  from лист2
      union  all
      select '97/92' as n1, n4, n6, n8, n12, n13  from лист3
      union  all
      select '97/92' as n1,  n4, n6, n8, n12, n13  from лист4
      union  all
      select '97/921' as n1, n4, n6, n8, n12, n13  from лист5)
group by n1, n4, n6


Это сообщение отредактировал(а) DimW - 12.1.2007, 17:38
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


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

1. Базы данных (Paradox, Oracle и т.п.)

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


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

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


 




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


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

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