![]() |
![]() |
|
Не выполняетсяя условие в ВЫБОР запрос | ☑ | ||
---|---|---|---|---|
0
myr4ik07
21.02.15
✎
19:02
|
Добрый вечер. когда количество документов больше 1 нужно написать "разовая", делаю
ВЫБРАТЬ КОЛИЧЕСТВО(ВЫБОР КОГДА РасходныеНакладныеТовары.Ссылка <= 1 ТОГДА "разовая" ИНАЧЕ РасходныеНакладныеТовары.Ссылка КОНЕЦ) КАК Ссылка, РасходныеНакладныеТовары.Номенклатура, РасходныеНакладныеТовары.Количество КАК Количество ИЗ Документ.РасходныеНакладные.Товары КАК РасходныеНакладныеТовары СГРУППИРОВАТЬ ПО РасходныеНакладныеТовары.Номенклатура, РасходныеНакладныеТовары.Количество но ничего не выводит |
|||
1
myr4ik07
21.02.15
✎
19:03
|
да и >= ничего не выводит
|
|||
2
ДенисЧ
21.02.15
✎
19:04
|
РасходныеНакладныеТовары.Ссылка <= 1
Это как??? |
|||
3
myr4ik07
21.02.15
✎
19:06
|
(2) ну, сгруппировал ссылки что бы знать сколько накладных было если было больше 1 тогда иначе "разовая"
|
|||
4
myr4ik07
21.02.15
✎
19:07
|
(2) ладно, тогда как реализовать "В том случае, когда отгрузка была только одна, то в колонке Интервал выводится «разовая».
|
|||
5
ДенисЧ
21.02.15
✎
19:09
|
(3) ты не ссылки сгруппировал. Ты хотел сгруппировать строки...
Сначала посчитай КОЛИЧЕСТВО(Ссылка), потом выбирай |
|||
6
myr4ik07
21.02.15
✎
19:17
|
(5) как вы это поняли?
|
|||
7
myr4ik07
21.02.15
✎
19:23
|
(5) вот не могу понять
ВЫБРАТЬ ВЫБОР КОГДА КОЛИЧЕСТВО(РасходныеНакладныеТовары.Ссылка) <= 1 ТОГДА "разовая" ИНАЧЕ РасходныеНакладныеТовары.Ссылка КОНЕЦ КАК Ссылка, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РасходныеНакладныеТовары.Номенклатура) КАК Номенклатура ИЗ Документ.РасходныеНакладные.Товары КАК РасходныеНакладныеТовары СГРУППИРОВАТЬ ПО РасходныеНакладныеТовары.Ссылка сначала количество потом сгруппировал, но как понять какую агрегатную функцию к полю номенклатура приклеить?! не понимаю |
|||
8
Cyberhawk
21.02.15
✎
19:30
|
(7) покажи на картинке, как должен выглядеть результат, которого ты пытаешься достичь
|
|||
9
SeraFim
21.02.15
✎
19:32
|
скорей всего это задача на спеца?
|
|||
10
myr4ik07
21.02.15
✎
19:33
|
(8)
анализ продаж Номенклатура Интервал Ложка 10 Вилка разовая разовая это отгрузка, если по данной номенклатуре один раз продавался товар тогда разовая |
|||
11
myr4ik07
21.02.15
✎
19:34
|
(8) я не так прошу что бы мне написали как прошу пояснить
|
|||
12
Cyberhawk
21.02.15
✎
19:43
|
А теперь покажи на картинке результат своего запроса в виде таблицы
|
|||
13
myr4ik07
21.02.15
✎
19:46
|
(12) если минимум тогда получаю
разовая Куртка замшевая 1 разовая Портсигар 1 Расходная накладная 000000006 від 21.02.2015 17:52:02 Куртка замшевая 3 разовая Ложка 1 разовая Ложка 1 если максимусм тогда получаю разовая Куртка замшевая 1 разовая Портсигар 1 Расходная накладная 000000006 від 21.02.2015 17:52:02 Доставка 3 разовая Ложка 1 разовая Ложка 1 в минимум доставки нету |
|||
14
PR
21.02.15
✎
19:46
|
(12) Да хочет понять, продажи конкретной номенклатуры были разовые или нет
|
|||
15
myr4ik07
21.02.15
✎
19:49
|
почему "Доставка" упускается при разных применениях агрегатных функций?
|
|||
16
Cyberhawk
21.02.15
✎
19:52
|
Ты картинки-то делать будешь? ))
|
|||
17
myr4ik07
21.02.15
✎
19:54
|
||||
18
myr4ik07
21.02.15
✎
19:56
|
(16) заметил, что когда в документе указано 2 и более товара то условие ВЫБОР не исполняется, что не подходит для меня )
|
|||
19
Cyberhawk
21.02.15
✎
19:56
|
(17) а в целевой таблице у тебя сколько должно быть столбиков?
|
|||
20
myr4ik07
21.02.15
✎
19:57
|
(19) целевая это что?
|
|||
21
Cyberhawk
21.02.15
✎
19:57
|
+(17) судя по (10) - два столбика. Вывод: убирай из запроса лишнее
|
|||
22
Cyberhawk
21.02.15
✎
19:57
|
(20) то, что принадлежит цели
|
|||
23
myr4ik07
21.02.15
✎
19:58
|
(21) ну ... количество поле убрал но ничего нового не появилось
|
|||
24
dmpl
21.02.15
✎
19:58
|
(0) Сгруппируй в временную таблицу соответствие Номенклатура - Количество ссылок, потом по ней и выводи.
(18) А это потому что ссылки надо выбирать не из табличной части Товары, а, например, из регистра накопления. |
|||
25
myr4ik07
21.02.15
✎
20:06
|
(24) ну так сгруппировать с какой агрегатной функцией поле номенклатура?
|
|||
26
Cyberhawk
21.02.15
✎
20:06
|
(23) а что должен показывать столбик "Интервал" в целевой таблице?
|
|||
27
myr4ik07
21.02.15
✎
20:09
|
(26) интервал = «Дата первой отгрузки» - «Дата последней отгрузки» / «количество отгрузок»
первое, второе я получил, а вот количество отгрузок вот это загвоздка для меня |
|||
28
Cyberhawk
21.02.15
✎
20:12
|
Про соединения таблиц в запросах уже что-нибудь слышал?
|
|||
29
myr4ik07
21.02.15
✎
20:14
|
(24) хочу сказать что с регистром аналогично
ВЫБРАТЬ ОстаткиТоваров.Регистратор КАК Регистратор, МИНИМУМ(ОстаткиТоваров.Номенклатура) КАК Номенклатура ИЗ РегистрНакопления.ОстаткиТоваров КАК ОстаткиТоваров ГДЕ ОстаткиТоваров.Регистратор ССЫЛКА Документ.РасходныеНакладные СГРУППИРОВАТЬ ПО ОстаткиТоваров.Регистратор минимум максимум упускают "Доставка" |
|||
30
myr4ik07
21.02.15
✎
20:14
|
(28) например? Что имеешь ввиду?
|
|||
31
myr4ik07
21.02.15
✎
20:15
|
(28) что бы соеденять мне нужно получить, что соединять
|
|||
32
Cyberhawk
21.02.15
✎
20:15
|
(29) с регистром ОстаткиТоваров это ты промахнулся. Если все товары на данный момент проданы, то запрос тебе ничего и не вернет по таким товарам
(30) левое, внутреннее, внешнее соединение |
|||
33
myr4ik07
21.02.15
✎
20:16
|
(32) так он оборотный, я могу не только остатки получить, а и оборот.расход, что в моем случаи нормально
|
|||
34
myr4ik07
21.02.15
✎
20:17
|
(32) точнее не оборотны, а остаточный этот регистр, а соответственно в нем есть вирт поля оборот
|
|||
35
Cyberhawk
21.02.15
✎
20:17
|
(31) сделай запрос к оборотам регистра остатков (все поля), сформулируй здесь на словах алгоритм получения целевой таблицы из полученного результата (запроса к оборотам регистра остатков). Типа "берем записи регистра, объединяем по номенклатуре, считаем то-то и т.д."
|
|||
36
myr4ik07
21.02.15
✎
20:18
|
(32) я понимаю о чем вы, я прошу пример написать каким образом я могу себе облегчить жизнь соединением и узнать количество отгрузок?!
|
|||
37
myr4ik07
21.02.15
✎
20:35
|
(35)
так а зачем мне регистр? Там же всеровно нужно получать регистратор, что бы узнать сколько раз номенклатура продавалась или я ошибаюсь? или вы имеете ввиду, что бы я суммировал оборот с условием типдвижения расход? |
|||
38
Cyberhawk
21.02.15
✎
21:04
|
(37) вариантов решения, чего там и как суммировать - много
Посмотри, что у тебя хранится в оборотах, оттуда и пляши Одним из понятных для тебя вариантов может быть соединение трех таблиц: 1) товар - кол-во регистраторов 2) товар - минимальная дата продажи 3) товар - максимальная дата продажи Как покажешь все три запроса с результатами (на картинке), так обращайся |
|||
39
myr4ik07
21.02.15
✎
22:27
|
шось таке вийшло
ВЫБРАТЬ РасходныеНакладныеТовары.Номенклатура КАК Номенклатура, СУММА(РасходныеНакладныеТовары.Количество) КАК Количество, РасходныеНакладные.Ссылка ПОМЕСТИТЬ вт ИЗ Документ.РасходныеНакладные.Товары КАК РасходныеНакладныеТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходныеНакладные КАК РасходныеНакладные ПО РасходныеНакладныеТовары.Номенклатура = РасходныеНакладные.Товары.Номенклатура СГРУППИРОВАТЬ ПО РасходныеНакладные.Ссылка, РасходныеНакладныеТовары.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вт.Номенклатура, ВЫБОР КОГДА вт.Количество = 1 ТОГДА "разовая" ИНАЧЕ вт.Количество КОНЕЦ КАК Поле1, вт.Ссылка ИЗ вт КАК вт как бы оно, не додумал сначала, что нужно во Временную кидать сгруппированное, а потом уже ВЫБОР КОГДА применять |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |