powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос
11 сообщений из 11, страница 1 из 1
Запрос
    #32394072
Маринка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы товара и продаж. Требуется выбрать за период неликвиды (товар с отсутствием продаж). Обратная задача решается без проблем запросом:

Select Tovar.Grup,Tovar.NNum,Tovar.Code,Sum(Realiz.KolOut) as KolReal
from Tovar
left outer join Real on Tovar.Grup=Real.Grup and Tovar.NNum=Real.NNum and Tovar.Code=Real.Partia
order by Tovar.Grup,Tovar.NNum,Tovar.Code
group by Real.Grup,Real.NNum,Real.Partia
where Real.Date>=:dBP and Real.Date<=:dEP

А как быть с неликвидами? Помогите!!!
...
Рейтинг: 0 / 0
Запрос
    #32394095
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это на каком диалекте SQL написано ?
В VFP это решается так:
Код: plaintext
1.
2.
3.
4.
5.
6.
Select Tovar.Grup,Tovar.NNum,Tovar.Code,Sum(Realiz.KolOut) as KolReal 
from Tovar 
left outer join Real on Tovar.Grup=Real.Grup and Tovar.NNum=Real.NNum and Tovar.Code=Real.Partia 
order by Tovar.Grup,Tovar.NNum,Tovar.Code 
group by Real.Grup,Real.NNum,Real.Partia 
where Real.Date>=:dBP and Real.Date<=:dEP 
and isnull(Real.Grup)
...
Рейтинг: 0 / 0
Запрос
    #32394199
andrew_Pr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, Crip, так не пойдет.
Там, где isnull(Real.Grup), там и Real.Date is null

Твой запрос ВСЕГДА будет возвращать пустой курсор.

Вот вариант решения:
Код: plaintext
1.
2.
3.
4.
5.
6.
Select Tovar.Grup,Tovar.NNum,Tovar.Code,  0  as KolReal 
from Tovar where not exists
(Select * From Real Where 
 Tovar.Grup=Real.Grup and Tovar.NNum=Real.NNum and Tovar.Code=Real.Partia 
 and Real.Date>=:dBP and Real.Date<=:dEP )
group by Tovar.Grup,Tovar.NNum,Tovar.Code 
order by Tovar.Grup,Tovar.NNum,Tovar.Code 

Данное решение, конечно, лобовое и на больших объемах будет тормозить,
но результат даст правильный.
...
Рейтинг: 0 / 0
Запрос
    #32394205
andrew_Pr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS

Наверное Crip это хотел написать:
Код: plaintext
1.
2.
3.
4.
5.
6.
Select Tovar.Grup,Tovar.NNum,Tovar.Code,Sum(Realiz.KolOut) as KolReal 
from Tovar 
left outer join Real on Tovar.Grup=Real.Grup and Tovar.NNum=Real.NNum and 
Tovar.Code=Real.Partia and Real.Date>=:dBP and Real.Date<=:dEP 
order by Tovar.Grup,Tovar.NNum,Tovar.Code 
group by Tovar.Grup,Tovar.NNum,Tovar.Code 
where isnull(Real.Grup)
...
Рейтинг: 0 / 0
Запрос
    #32394322
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините за off-topic, но что означает : ?
Никогда не применял этого в FoxPro... Понимаю, что :: вызов родительского класса, ну а вот что означает : ?

Спасибо.

P.S. Наксколько я понимаю в продажах - неликвид это товар, который вообще не продается или продается очень медленно. Соответственно необходимо отразить и эту мысль, например не было продаж в течении определенного периода ИЛИ продано в процентном отношении за определенный период очень мало ИЛИ у товара истекает срок хранения ИЛИ ...

И самое удивительное в постановке задачи - как код товара может вязаться с партией? Переучился я наверное...
...
Рейтинг: 0 / 0
Запрос
    #32394865
Маринка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey ChИзвините за off-topic, но что означает : ?
Никогда не применял этого в FoxPro... Понимаю, что :: вызов родительского класса, ну а вот что означает : ?
:Param - передача в скрипт параметра извне.

P.S. Наксколько я понимаю в продажах - неликвид это товар, который вообще не продается или продается очень медленно. Соответственно необходимо отразить и эту мысль, например не было продаж в течении определенного периода ИЛИ продано в процентном отношении за определенный период очень мало ИЛИ у товара истекает срок хранения ИЛИ ...
Так была поставлена задача - считать неликвидами товары, не продававшиеся за определенный период.

И самое удивительное в постановке задачи - как код товара может вязаться с партией? Переучился я наверное...
Это мы упростили схему, чтобы не перегружать вопрос... Кроме того, именно в справочнике партий отражена дата прихода, которую тоже придется обрабатывать.

Crip, andrew_Pr - спасибо, будем пробовать.
...
Рейтинг: 0 / 0
Запрос
    #32396013
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To: Маринка

Спасибо за Ваше потраченное время на ответ мне. Но я все равно не понял...

dBP - в вашем случае это переменная? Попробовал повторить Ваш синтакс, но VFP 8.0 SP1 на моей машине выдает ошибку...

Странно все это...
...
Рейтинг: 0 / 0
Запрос
    #32396150
Маринка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dBP - это параметр. Я не знаю, как организован механизм передачи параметров в самом VFP, я использую это в приложении на Delphi, работающем через ADO+OLE DB Provider for VFP7. Но это уже точно офтопик :)
...
Рейтинг: 0 / 0
Запрос
    #32396222
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To: Маринка

Большое спасибо, вот теперь я понял - это Дельфи

А то увидел синтаксис, который режет мои незащищенные глаза и сразу бросился переворачивать справочники и Интернет... А тут просто на Delphi пытаются извернуться, чтоб сделать что-то на FoxPro :)

Маленький совет - все эти вещи на FoxPro пишутся быстрее, проще и надежнее... Хотя в советах Вы уже не нуждаетесь :(

Удачи, ничего личного, просто в нашей отдаленной местности выпускники Дельфисты/Паскалисты по какой-то непонятной причине невзлюбили программистов FoxPro... Правда самые умные из них быстренько переучились на VS NET (что по идеологии намного ближе к FoxPro) и уехали за рубеж:

http://www.amit.ru/foruma/showmes.asp?cust_id=1343&PageNo=1

Еще раз извините за мой глупый вопрос и офф-топик...
...
Рейтинг: 0 / 0
Запрос
    #32396316
Маринка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To: andrew_Pr - Большое спасибо, все заработало!

To: Sergey Ch - Дело в том, что разработчики (не_скажу_какой) бухгалтерской системы в своем генераторе отчетов не оставили выбора, на чем писать запросы. Есть определенная задача - нужно найти решение. Все! А насчет "взлюбили-невзлюбили" (причем речь не о системах, а о людях) - у вас тут и такие вещи обсуждаются? Вот это действительно странно... Это можно зайти в форум, например, по дельфи, и приставать к каждому - "а что это ты тут делаешь, вот на фоксе..."
...
Рейтинг: 0 / 0
Запрос
    #32397288
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To: Маринка

Я же ведь извинился...

Хотя иногда бывает полезно по дружески подсказать правильный путь На то он и форум, чтоб давать и выслушивать советы...

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


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