К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

ИТОГИ ПО в прямом запросе к DBF

Гость
0 - 10.09.2012 - 09:49
Приветствую, Господа!
Имеется прямой запрос к ДБФ файлу. Нужно получить что-то типа ИТОГИ ПО в 1с 8

ТекстЗапроса = "SELECT
|РегПродажа.SP2224 as Количество,
|СпрНомен.DESCR as Номенклатура,
|SUM(РегПродажа.SP2224) as СуммаКоличество,
|FROM
| _RA2228Old РегПродажа
|Left Join _SC156Old СпрНомен ON РегПродажа.SP2218 = СпрНомен.ID
|GROUP BY ROLLUP(СпрНомен.DESCR)";

Вся эт беда выдает вот это сообщение:

State 42S22, native 806, message [Microsoft][ODBC Visual FoxPro Driver]SQL: Column ' ' is not found

Без |GROUP BY ROLLUP(СпрНомен.DESCR) всё работет хорошо.
Вопрос собственно в том, чтобы получить итоги по Номенклатуре (СпрНомен.DESCR) по типу "ИТОГИ ПО Номенклатура" в 8-ке.



Гость
1 - 10.09.2012 - 09:50
Перед FROM запятой естественно нет
Гость
2 - 10.09.2012 - 10:19
Может, не издеваться над провайдером, а посчитать итоги на клиенте?
Гость
3 - 10.09.2012 - 10:20
ввобще не понятно, зачем в запросе есть
и
РегПродажа.SP2224 as Количество,
и
SUM(РегПродажа.SP2224) as СуммаКоличество,
не выкинуть ли РегПродажа.SP2224 as Количество. Зачем оно?
Гость
4 - 10.09.2012 - 10:31
2-Sadovnikov > Смысл в том, чтобы сделать запрос наподобие запроса в отчете Анализ продаж, а там группировка в запросе. Интересует именно возможность использовать ROLLUP или CUBE, или что-то подобное именно в прямом запросе.
Извините за злоупотребление словом Запрос
Гость
5 - 10.09.2012 - 10:32
4-andertaletz > Так я и спрашиваю - зачем считать это именно в запросе? Почему не на клиенте, при выводе отчета?
Гость
6 - 10.09.2012 - 10:33
3-Удар копытом > Благодарю за заботу, истину глаголите, но вопрос немного не в этом. Текст запроса - это небольшой кусочек из более крупного запроса.
Гость
7 - 10.09.2012 - 10:37
5-Sadovnikov >Очень хочется "подсунуть" Анализу продаж свой запрос (не факт, кстати, что получится), и не шибко заморачиваться со стандартным выводом этого отчета в зависимости от группировок и множественных фильтров. (Оговорюсь сразу - база не SQL)
Гость
8 - 10.09.2012 - 10:37
(6) ну если там есть еще что-то, то может его там быть не должно.Там должны быть только то, что группируется. по крайней мере в т-скл
SELECT a, b, c, SUM
FROM T
GROUP BY ROLLUP (a,b,c);
Гость
9 - 10.09.2012 - 10:47
8-Удар копытом >SELECT
| _RA2228Old.SP2227 SUM
|FROM
| _RA2228Old
|GROUP BY ROLLUP(_RA2228Old.SP2227)

State 42S22, native 806, message [Microsoft][ODBC Visual FoxPro Driver]SQL: Column ' ' is not found
Гость
10 - 10.09.2012 - 10:48
Колонка есть 100%)
Гость
11 - 10.09.2012 - 10:51
не, в примере SUM это не просто SUM ,а функция типа
SELECT a, b, c, SUM(d)
Гость
12 - 10.09.2012 - 10:53
и понятно, что одно поле должно быть числовым, по которому идет SUM, и хотя бы одно еще группировочное
Гость
13 - 10.09.2012 - 10:55
и это соответствует тому что ты писал в заголовке, только без |РегПродажа.SP2224 as Количество,
Гость
14 - 10.09.2012 - 10:57
Интересен факт, что
SELECT
| _RA2228Old.IDDOC,
| SUM(_RA2228Old.SP2227)
|FROM
| _RA2228Old
|GROUP BY ROLLUP(_RA2228Old.IDDOC)

дает тоже самое
State 42S22, native 806, message [Microsoft][ODBC Visual FoxPro Driver]SQL: Column ' ' is not found
Гость
15 - 10.09.2012 - 11:01
а так?
SELECT
| _IDDOC,
| SUM(SP2227)
|FROM
| _RA2228Old
|GROUP BY ROLLUP(IDDOC)
Гость
16 - 10.09.2012 - 11:05
К моей печали
SELECT
| IDDOC,
| SUM(SP2227)
|FROM
| _RA2228Old
|GROUP BY ROLLUP(IDDOC)
Всё та же пижня
Гость
17 - 10.09.2012 - 11:07
Есть подозрение что в SQL версии это заработает, но вот как заставить файловую версию это скушать?
Гость
18 - 10.09.2012 - 11:14
SELECT
| IDDOC,
| SUM(SP2227)
|FROM
| _RA2228Old

Отрабатывает замечательно
Гость
19 - 10.09.2012 - 11:19
а без роллапа?
|GROUP BY IDDOC,SUM(SP2227)
Гость
20 - 10.09.2012 - 11:19
без суммы тоже
Гость
21 - 10.09.2012 - 11:24
Можно начать подбирать синтаксис:))
GROUP BY IDDOC WITH ROLLUP
Гость
22 - 10.09.2012 - 11:24
SELECT
| IDDOC
|FROM
| _RA2228Old
|GROUP BY IDDOC,SUM(SP2227)

State 42S22, native 806, message [Microsoft][ODBC Visual FoxPro Driver]SQL: Column 'IDDOC' is not found
Гость
23 - 10.09.2012 - 11:26
(22)
не,
SELECT
| IDDOC,
| SUM(SP2227)
|FROM
| _RA2228Old
|GROUP BY IDDOC
Гость
24 - 10.09.2012 - 11:28
21-Удар копытом > Пробовал, получил сей результат
Command contains unrecognized phrase/keyword
Гость
25 - 10.09.2012 - 11:38
23-Удар копытом > Работает, группирует, суммирует. Но получаем только группы, т.е. что-то типа

Наименование | Кол-во.
------------------------
Дырка от бублика | 4 шт.

А надо

Наименование | Кол-во.
------------------------
Дырка от бублика | 4 шт.
Дырка от бублика | 1 шт.
Дырка от бублика | 3 шт.
Гость
26 - 10.09.2012 - 11:40
(25) а так
SELECT
| IDDOC,
| SUM(SP2227)
|FROM
| _RA2228Old
|GROUP BY IDDOC WITH ROLLUP
Гость
27 - 10.09.2012 - 11:44
а если к 23 подставить роллап, то кирдык?
Гость
28 - 10.09.2012 - 11:47
OFF Сижу и думаю - зачем люди пишут документацию к программным продуктам?
Ну это я так. Не мешаюсь больше, беседуйте :)
Гость
29 - 10.09.2012 - 11:49
26-Удар копытом > не понимает драйвер vfpodbc.dll таких слов как WITH ROLLUP
говорит
State 42000, native 219, message [Microsoft][ODBC Visual FoxPro Driver]Command contains unrecognized phrase/keyword
Гость
30 - 10.09.2012 - 11:53
28-Sadovnikov > Ниче ниче. Я за любую движуху, если туплю, то критикуйте без стеснения. Кстати на документацию бы если можно ссылку, главное чтобы там было про мои любимые ИТОГИ
Гость
31 - 10.09.2012 - 11:53
Ладно, бабушку помучали неплохо:)
Придется таки читать документацию:))
Или сходи на sql.ru, там должны были остаться живые фокспрошники:)
Гость
32 - 10.09.2012 - 11:59
Есть еще вариант сделать два запроса, один с группами, другой без, и UNION ALL с ORDER BY но это не комильфо, ибо группировки изначально не известны, хотя...
Гость
33 - 10.09.2012 - 12:02
Запросы с ROLLUP не пробовал, но GROUP BY должно быть обязательно по всем полям выборки, неохваченным агрегатными функциями типа SUM, MAX и тд. В ДБФ версии можно тупо группировать по номерам полей: GROUO BY 1,2// Не очень эстетично, но работает
Гость
34 - 10.09.2012 - 12:16
33-USSR >Це группировки, а мне треба итоги


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены