![]() |
![]() |
![]() |
|
условие в запросе для дня | ☑ | ||
---|---|---|---|---|
0
MarinaSk
05.01.13
✎
01:27
|
Нужны данные:
Приход, Расход, Остаток товара по дням на определенном складе по конкретному поставщику. Причем Остаток в дне по товару должен выводиться только в том случае, когда есть движение товара в этот день. Имеем простенький запрос, в нем условие: ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &ВыбСклад И ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования.Контрагент = &ВыбКонтрагент И (ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход <> 0 ИЛИ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход <> 0) только вот условие КоличествоПриход <> 0 или КоличествоРасход <> 0 срабатывает для всей выборки, как наложить условие на ПериодДень? Сам запрос: ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования КАК Партия, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход КАК СтоимостьРасход, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Артикул КАК Артикул, ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодДень КАК ПериодДень, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход КАК СтоимостьПриход ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, ДвиженияИГраницыПериода, ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &ВыбСклад И ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования.Контрагент = &ВыбКонтрагент И (ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход <> 0 ИЛИ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход <> 0) СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования.Организация, ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования.Контрагент, ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Артикул, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодДень, ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток УПОРЯДОЧИТЬ ПО Склад, ПериодДень, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Наименование, Партия ИТОГИ СУММА(КоличествоПриход), СУММА(КоличествоРасход), СУММА(СтоимостьРасход), СУММА(КоличествоКонечныйОстаток), СУММА(СтоимостьКонечныйОстаток), СУММА(СтоимостьПриход) ПО Склад, ПериодДень, Номенклатура |
|||
1
MarinaSk
05.01.13
✎
01:39
|
уточнение:
запрос дает результат (по кол-ву привожу): Дата/Товары Приход Расход Остаток 1.12.12 Товар 2 3.12.12 Товар 1 1 Но 1.12.12 нет движения по товару, поэтому нужно так: Дата/Товары Приход Расход Остаток 3.12.12 Товар 1 1 |
|||
2
GROOVY
05.01.13
✎
01:41
|
Сгруппируй по дню и наложи having.
|
|||
3
Кокос
05.01.13
✎
01:41
|
можно еще вложенный запрос :)
|
|||
4
MarinaSk
05.01.13
✎
01:43
|
таблички разъехались, вот здесь нагляднее:
http://www.7image.ru/pics/0113/330127749.jpg счас попробую (2) |
|||
5
GROOVY
05.01.13
✎
01:54
|
Я кстати, видимо перемудрил... Можно ведь
КоличествоПриход + КоличествоРасход <> 0 |
|||
6
MarinaSk
05.01.13
✎
01:58
|
(5) все равно условие на всю выборку запроса срабатывает
|
|||
7
GROOVY
05.01.13
✎
02:08
|
Я только сейчас весь запрос посмотрел. Зачем Вы группируете по значению ресурсов?
|
|||
8
Кокос
05.01.13
✎
02:10
|
(7) а ее конструктор заставляет. Тамже СУММА(..) нет.
|
|||
9
GROOVY
05.01.13
✎
02:10
|
Даже не так... Зачем вообще группировать результат выполнения виртуальной таблицы?
|
|||
10
Кокос
05.01.13
✎
02:11
|
(0)
заключи все числовые ресурсы в СУММА СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, |
|||
11
GROOVY
05.01.13
✎
02:13
|
+10 и группировать нужно только по дню.
И поля с артикулом и представлением номенклатуры я получал бы в соединении. Соединение уже с результатом того что получится после условия. |
|||
12
MarinaSk
05.01.13
✎
02:23
|
логику поняла...
с практикой запросов засада.... можно пример на любых данных для получения полей в соединении с результатом после условия |
|||
13
Кокос
05.01.13
✎
02:32
|
ну тут если только запрос за тебя написать.
|
|||
14
MarinaSk
05.01.13
✎
02:34
|
:))) ясно
|
|||
15
MarinaSk
05.01.13
✎
02:54
|
ВЫБРАТЬ
ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРасход) КАК СтоимостьРасход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток) КАК СтоимостьКонечныйОстаток, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодДень КАК ПериодДень, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход) КАК СтоимостьПриход ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, ДвиженияИГраницыПериода, ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад = &ВыбСклад И ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования.Контрагент = &ВыбКонтрагент И (ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход <> 0 ИЛИ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход <> 0) СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.ПериодДень, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура УПОРЯДОЧИТЬ ПО ПериодДень ИТОГИ СУММА(КоличествоПриход), СУММА(КоличествоРасход), СУММА(СтоимостьРасход), СУММА(КоличествоКонечныйОстаток), СУММА(СтоимостьКонечныйОстаток), СУММА(СтоимостьПриход) ПО ПериодДень здесь получаю ПериодДень и Номенклатуру, а теперь снова тащить все нужные мне данные из РегистрНакопления.ПартииТоваровНаСкладах соединяясь по ПериодДень и Номенклатуре. так? я правильно поняла? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |