powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с запросом SELECT
12 сообщений из 12, страница 1 из 1
Помогите с запросом SELECT
    #32764525
Фотография Grumax_user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица nakl.dbf c полями zex,data,nnakl,nnom,marka,chert,rasmer,kolwo,ves,ediz,zena необходимо сгруппировать по цене (zena) и номенклатурному (nnom) сложив количество (kolwo) где data='09' месяцу и чтобы еще остальные поля выводились

select sum(kolwo) kolwo,zena,nnom from nakl where nnom=(select zex,data,nnakl,dopn,nnom,marka,chert,rasmer,ves,mps,datan,zenas,kat,isp,npp,ps,po,kodg,kodpg,kodm,ngch,nchert,ediz,namegk,namepg,nnomb from nakl where ms1_v=substr(nakl.data,4,2) ORDER BY nnom,zena) GROUP BY zena,nnom

Я что-то такое сделал, но не получается...прошу помочь...спасибо

Я во все дела суюсь -> всесторонне разовьюсь
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32764574
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select nnom, zena, sum(kolwo) kolwo from nakl where month(data)=9 group by nnom, zena
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32764774
Фотография Grumax_user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to AleksMed
В этом случае в конечном результате -> курсоре или таблице (например) будут учавствовать только поля nnom, zena, kolwo а надо чтобы там были еще и zex,data,nnakl,marka,chert,rasmer,ves,ediz и т.д.

За ответ спасибо, только это не совсем то что мне надо, есть выход в Max() or Min() по каждому из полей zex,data,nnakl,marka,chert,rasmer,ves,ediz но мне этот вариант не нравиться хочется запрос в запросе....чтобы разобраться

Я во все дела суюсь -> всесторонне разовьюсь
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32764955
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для получения более правильного ответа опиши словами что ты хочешь получить в итоге. Возможно для достижения требуемого результата группировки по номенклатуре и цене не достаточно.
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32764981
Фотография Grumax_user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to AleksMed

Вот код который применяю я:

Код: plaintext
1.
2.
3.
4.
5.
6.
select MAX(zex) zex,MAX(data) data,MAX(nnakl) nnakl,MAX(dopn) dopn,;
  MAX(marka) marka,MAX(chert) chert,MAX(rasmer) rasmer,sum(kolwo) kolwo,;
  MAX(ves) ves,MAX(mps) mps,MAX(datan) datan,MAX(zenas) zenas,MAX(kat) kat,;
  MAX(isp) isp,MAX(npp) npp,MAX(ps) ps,MAX(po) po,MAX(kodg) kodg,MAX(kodpg) kodpg,;
  MAX(kodm) kodm,MAX(ngch) ngch,MAX(nchert) nchert,MAX(ediz) ediz,;
  MAX(namegk) namegk,MAX(namepg) namepg,MAX(nnomb) nnomb,nnom,zena from nakl ;
  where ms1_v=substr(nakl.data, 4 , 2 ) GROUP BY zena,nnom INTO CURSOR cur_nakl

результатом выполнения которого я доволен, но мне не нравиться сам синтаксис команды, ведь можно сделать группировку по zena,nnom а остальные поля не MAX()-ить а сделать запрос, чтобы их выводит в таблицу

Я во все дела суюсь -> всесторонне разовьюсь
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32765026
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET ENGINEBEHAVIOR 70

select zex,data,nnakl,nnom,marka,chert,rasmer,kolwo,ves,ediz,zena ;
from nakl;
where month(data)=9 ;
group by nnom, zena
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32765028
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET ENGINEBEHAVIOR 70

select zex,data,nnakl,nnom,marka,chert,rasmer,ves,ediz,zena,sum(kolwo) kolwo ;
from nakl;
where month(data)=9 ;
group by nnom, zena
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32765052
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неправильный подход в принципе! Все поля, которые не участвуют в SUM, MAX и т.п. должны быть в GROUP BY! Иначе они в результате не имеют смысла! Какой смысл использовать MAX для "nnakl"???
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32765798
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Grumax_user!

Не парься - твой запрос и есть самый правильный и простой из возможных.
Если делать через подзапрос, то тебе нужен VFP9 - там допустим подзапрос в
FROM и сработает нечто типа:

Код: plaintext
1.
2.
3.
select s1.zena, s1.nnom, s1.kolwo, nakl.zex, nakl.nnakl, ...
    FROM nakl INNER JOIN (SELECT nnom, zena, sum(kolwo) kolwo ;        FROM 
nakl WHERE month(data)= 9  group by nnom, zena) s1 ;            ON nakl.nnom = 
s1.nnom AND nakl.zena = s1.zena ;    WHERE month(data)= 9 
Предполагается
что nnom + zena для заданного условия (month(data)=9) уникальны - иначе
будут дубли при объединении.Я не думаю что указанный вариант (с подзапросом)
будет работать быстрее чем твой изначальный вариант с MAX.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32765872
Фотография Grumax_user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexFV SET ENGINEBEHAVIOR 70

Эту настройку знаю в 6.0 запросы проходили без MIN() и MAX(), но считаю что понятней и правильней SET ENGINEBEHAVIOR 80, хотя муторней...а так спасибо

RedrikКакой смысл использовать MAX для "nnakl"???

Смысла действительно нет (это номер накладной) просто прицепил случайно...я исправлюсь :-)))

Igor Korolyov Не парься

С удовольствием, т.к. VFP 9.0 у мя нет

Всем спасибо!

Я во все дела суюсь -> всесторонне разовьюсь
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32774388
_Mikle_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим, все это, конечно, хорошо, вот только твой непосредственный начальник (я имею в виду ШВА) - как он теперь к этому относится - все также инициатива наказуема ??
...
Рейтинг: 0 / 0
Помогите с запросом SELECT
    #32777960
Фотография Grumax_user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to _Mikle_

Все путем...мы ведь ему не скажем? :-))

Я во все дела суюсь -> всесторонне разовьюсь
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с запросом SELECT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]