|
Временные таблицы | ☑ | ||
---|---|---|---|---|
0
amadeus2010
04.06.12
✎
13:32
|
Добрый день, у меня есть вопрос,есть запроса соединенные между собой через объединить все
Запрос1 Объединить все Запрос2 возможно ли эти 2 запроса поместить в одну ВТ, выбрав из каждого 2 необходимых поля? Структура запросов идентична, только в одном из них стоит проверка на условие Где, а другом нет.Или же мне надо на каждый запрос создать свои ВТ а потом эти ВТ поместить в 3-ю ВТ? |
|||
2
amadeus2010
04.06.12
✎
13:40
|
не совсем вас понял создать 3 ВТ или 1 ВТ в которую можно передать данные из объединенного запроса?
|
|||
3
Maxus43
04.06.12
✎
13:41
|
1 вт, закладка Дополнительно с созданием ВТ - Однана оба
|
|||
4
Luhtas
04.06.12
✎
13:45
|
(0) Конечно можно. Делаешь свой запрос через объединение и выбранные данные помещаешь в одну временную таблицу, дальше используешь...
|
|||
5
amadeus2010
04.06.12
✎
14:02
|
(4)я так и сделал 2 запроса через объединение.Теперь как создать 1 ВТ в которую поместить данные из 2 запросов.Запросы созданы через консоль отчетов
|
|||
6
Maxus43
04.06.12
✎
14:06
|
ВЫБРАТЬ
Банки.Ссылка ПОМЕСТИТЬ ВтМоя ИЗ Справочник.Банки КАК Банки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Кассы.Ссылка ИЗ Справочник.Кассы КАК Кассы ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВтМоя.Ссылка ИЗ ВтМоя КАК ВтМоя |
|||
7
mkanaev
04.06.12
✎
14:17
|
ага
|
|||
8
ЧеловекДуши
04.06.12
✎
14:19
|
(5)Создай 3-тию ВТ и не парь мзг :)
|
|||
9
amadeus2010
04.06.12
✎
14:24
|
(8) я изначально так и делал, но дело в том что когда создаю 3 ВТ и даю Сумма(КолЗаказ1),Сумма(КОлЗака2) у меня суммируется все поля и числа не соответствуют реальным данным, а при Объединить 2 запроса+1 ВТ данные правильные. В чем загвоздка?
|
|||
10
Maxus43
04.06.12
✎
14:25
|
(9) запросы в студию, скажут в чем
|
|||
11
amadeus2010
04.06.12
✎
14:35
|
выкладываю запросы.Суть в том что как видно из запроса в 1 запросе отбираются заказы по условию где товар принадлежит к одной из групп, во 2 общее количество товаров в заказе. Путем создания ВТ я хотел сделать так
Выбор Когда ВТЗаказКолич1 не равно ВТЗаказКоличОбщее тогда ВТЗаказКолич1>=5 иначе ВТЗаказКоличОбщее ////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка КАК Заказ, СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоШахдагПЕТ ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки ГДЕ (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ) ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ)) СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка, СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоОбщее ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка /////////////////////////////////////////////////////////////////// |
|||
12
Maxus43
04.06.12
✎
14:39
|
где тут ВТ и где тут объединение?
|
|||
13
amadeus2010
04.06.12
✎
14:41
|
пардон не тот запрос выложил
|
|||
14
amadeus2010
04.06.12
✎
14:54
|
Вот это запрос
///////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка КАК Заказ, СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоШахдагПЕТ ПОМЕСТИТЬ ВТЗаказПЕТ ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки ГДЕ (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ) ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ)) СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка, СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоОбщее ПОМЕСТИТЬ ВТЗаказОбщее ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТЗаказОбщее.ЗаказПокупателяСсылка КАК ЗаказПокупателяСсылка, ВТЗаказПЕТ.КоличествоШахдагПЕТ КАК КоличествоШахдагПЕТ, ВТЗаказОбщее.КоличествоОбщее КАК КоличествоОбщее ИЗ ВТЗаказОбщее КАК ВТЗаказОбщее, ВТЗаказПЕТ КАК ВТЗаказПЕТ /////////////////////////////////////////////////////////////////////////// при таком виде одни и те же заказы выводятся по несколько раз, если ставлю Сумма перед ВТЗаказПЕТ.КоличествоШахдагПЕТ КАК КоличествоШахдагПЕТ, ВТЗаказОбщее.КоличествоОбщее КАК КоличествоОбщее, то суммируется все и вместо например ВТЗаказПЕТ.КоличествоШахдагПЕТ=17, выходит 29. Теперь я хочу поставить выбор когда тогда в ВТ. |
|||
15
Maxus43
04.06.12
✎
14:55
|
ИЗ
ВТЗаказОбщее КАК ВТЗаказОбщее, ВТЗаказПЕТ КАК ВТЗаказПЕТ это КроссДжойн, есно будет идиотский результат |
|||
16
Maxus43
04.06.12
✎
14:59
|
Это одним запросом всё, с Выбор Когда
|
|||
17
amadeus2010
04.06.12
✎
15:00
|
(16)подскажите пожалуйста как правильно одним запросом используя когда тогда
|
|||
18
Maxus43
04.06.12
✎
15:00
|
ВЫБРАТЬ
ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка, СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоОбщее, Выбор Когда (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ) ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ)) Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) Иначе 0 Конец Как Поле1 ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка |
|||
19
Maxus43
04.06.12
✎
15:03
|
ЗаказПокупателя.ДатаОтгрузки МЕЖДУ дата1 И дата2
|
|||
20
Maxus43
04.06.12
✎
15:05
|
в выбор когда СУММА - до слова Выбор... ну синтаксис короче поправиш
|
|||
21
sapphire
04.06.12
✎
15:08
|
(11) Ты так с пятницы и не написал запрос?!
|
|||
22
amadeus2010
04.06.12
✎
15:08
|
могу ли я в конструкции
Выбор Когда (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ) ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ)) Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) Иначе 0 Конец Как Поле1 использовать больше равно 5 для проверки значения товара находящегося в иерархии.Задача была такая есть количество товара в заказе и если товара ПЕТ или Шахдаг меньше чем 5 то этот товар не проходит, а все остальные проходят относящиеся к другим группам |
|||
23
amadeus2010
04.06.12
✎
15:09
|
(21)пишу с перерывами, есть более срочные дела,этот запрос пока не так важен
|
|||
24
Maxus43
04.06.12
✎
15:10
|
(22) в выбор когда все логические условия можно, главно не запутайся
|
|||
25
sapphire
04.06.12
✎
15:10
|
(22) Возьми обработку КонсольЗапросов.epf c диска ИТС и там отлаживай свой запрос.
|
|||
26
amadeus2010
04.06.12
✎
15:14
|
в Консоль отчетов и делаю запрос
|
|||
27
sapphire
04.06.12
✎
15:15
|
(26) Читай внимательно. КонсольЗапросов!= КонсольОтчетов
|
|||
28
amadeus2010
05.06.12
✎
09:48
|
Доброе утро немного дополнил запрос (18)
//////////////////////////////////////////////////// ВЫБРАТЬ ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка, Выбор Когда (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ) ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ)) Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)>=5 Иначе СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) Конец Как КоличествоПЕТШахдаг ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка ////////////////////////////////////////////////////////// выдает ошибку неверные параметры Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)>=5 Я бы хотел этим условием поставить проверку на то что соответствует или нет количество для группы ПЕТ или Шахдаг больше 5.Как можно более грамотно сделать условие проверки? |
|||
29
amadeus2010
05.06.12
✎
10:42
|
есть кто-нибудь?
|
|||
30
amadeus2010
05.06.12
✎
12:09
|
через консоль отчетов создал запрос который отбирает те поля где количество меньше или равно 5. как сделать так чтобы не выводились пустые поля
//////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка КАК Заказ, СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоШахдагПЕТ ПОМЕСТИТЬ ВТКоличествоКассет ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца И (Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ) ИЛИ Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))) КАК ТоварыКРаспределениюПоРейсамОстатки СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТКоличествоКассет.Заказ, Выбор когда Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ)<=5 Тогда 0 Иначе Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ) Конец ИЗ ВТКоличествоКассет КАК ВТКоличествоКассет Сгруппировать По ВТКоличествоКассет.Заказ /////////////////////////////////////////////////////////////////// |
|||
31
Maxus43
05.06.12
✎
12:14
|
ВЫБРАТЬ
ВТКоличествоКассет.Заказ, Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ) ИЗ ВТКоличествоКассет КАК ВТКоличествоКассет Сгруппировать По ВТКоличествоКассет.Заказ ИМЕЮЩИЕ Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ)<=5 И Сумма(ВТКоличествоКассет.КоличествоШахдагПЕТ)<>0 |
|||
32
Pro-tone
модератор
05.06.12
✎
12:19
|
shuhard, (1) если пишешь в тематическую ветку, то троллить не надо
|
|||
33
amadeus2010
05.06.12
✎
12:20
|
я сделал так
//////////////////////////////////////////////// ВЫБРАТЬ ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка КАК Заказ, СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент) КАК КоличествоШахдагПЕТ ПОМЕСТИТЬ ВТКоличествоКассет ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца И (Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ) ИЛИ Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ))) КАК ТоварыКРаспределениюПоРейсамОстатки СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка ; /////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТКоличествоКассет.Заказ ИЗ ВТКоличествоКассет КАК ВТКоличествоКассет Где ВТКоличествоКассет.КоличествоШахдагПЕТ >=5 Сгруппировать По ВТКоличествоКассет.Заказ ////////////////////////////////////////////////////////////// я не троллю, пишу в своей же ветке |
|||
34
Pro-tone
модератор
05.06.12
✎
12:22
|
(33) я обратился к товарищу shuhard а не тебе =)
|
|||
35
Maxus43
05.06.12
✎
12:22
|
(33) он не тебе.
я уже не понимаю чего хочеш, условия в хзапросах твоих логически другие просто, то больше, то меньше |
|||
36
amadeus2010
05.06.12
✎
12:22
|
(32)извиняюсь
|
|||
37
amadeus2010
05.06.12
✎
12:23
|
я пытался добиться того что получилось в (31) и (33)
|
|||
38
Maxus43
05.06.12
✎
12:27
|
работает правильно? ну и ок, хоть и непонятно чо надо
|
|||
39
amadeus2010
05.06.12
✎
12:41
|
да работает,отбирает заказы из группы по количеству.Появилась небольшая загвоздка.При таком условии (31) или (33) в заказ все равно должны включаться и те товары с количеством меньше 5 не входящие в ПЕТ и Шахдаг. При нынешнем запроса он просто отсекает то что не равно или меньше 5.
Например Есть Заказ ПЕТ 2, Шахдаг 1, 20л бутыль-1. При моем запросе так как сумма(количество) меньше 5, то этот заказ не проходит целиком, а должен оставить 20л, а остальные не показывать. Как можно сделать чтобы в основном запросе в проверку не попадали любые товары не ПЕТ или Шахдаг? |
|||
40
amadeus2010
07.06.12
✎
10:35
|
добрый день в запросе использовал конструкцию Выбор когда тогда
/////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка, Выбор Когда (ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ПЕТ) ИЛИ ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.Родитель.Ссылка В ИЕРАРХИИ (&ШАХДАГ)) Тогда СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)>= 5 Конец Как Количество ИЗ РегистрНакопления.ТоварыКРаспределениюПоРейсам.Остатки( &Дата, ЗаказПокупателя.ДатаОтгрузки >= &ЗаказПокупателяДатаНачала И ЗаказПокупателя.ДатаОтгрузки <= &ЗаказПокупателяДатаКонца) КАК ТоварыКРаспределениюПоРейсамОстатки СГРУППИРОВАТЬ ПО ТоварыКРаспределениюПоРейсамОстатки.ЗаказПокупателя.Ссылка /////////////////////////////////////////////////////////////////////// выводит ошибку Неверные параметры "Выбор" СУММА(ТоварыКРаспределениюПоРейсамОстатки.КоличествоОстаток / ТоварыКРаспределениюПоРейсамОстатки.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент)>= 5. Как можно исправить? |
|||
41
amadeus2010
07.06.12
✎
10:54
|
есть кто-нибудь?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |