|
Применение в запросах параметра UNION | ☑ | ||
---|---|---|---|---|
0
Xelga
29.07.12
✎
23:08
|
У меня был опыт написания запросов на языке sql, там есть параметр union, используемый для горизонтального объединения результатов двух запросов. Как этот параметр применяется в 1С, можно ли его указать в конструкторе запросов?
Задача соединить несколько запросов горизонтально, а потом сделать по результату общую группировку, можно ли так сделать через конструктор запросов? Может у кого-то есть пример аналогичного запроса? |
|||
1
1C-band
29.07.12
✎
23:12
|
Всё есть, + ЛЕВОЕ и ПРАВОЕ. Пользоваться также. В конструкторе запроса - закладка "Связи".
|
|||
2
Xelga
29.07.12
✎
23:14
|
(1) это совершенно другие виды объединений, которые позволяют соединить таблицы вертикально, а мне нужно горизонтально
|
|||
3
aleks-id
29.07.12
✎
23:18
|
нет такого. как вариант описывать все недостающие поля через нулл или 0
|
|||
4
Xelga
29.07.12
✎
23:21
|
(3) не может быть , на сайте 1с написано " В языке запросов "1С:Предприятия" поддерживаются стандартные для SQL операции, такие, как объединение (Union), соединение (Join) и т.д."
|
|||
5
Xelga
29.07.12
✎
23:22
|
Вопрос в том, как это сделать может надо части запроса закинуть во временные таблицы, а потом временные таблицы соединить с помощью union?
|
|||
6
Пеппи
29.07.12
✎
23:22
|
"Объединить все" есть же :)
|
|||
7
Xelga
29.07.12
✎
23:24
|
(6) с "объединить" понятно, не совсем правильно вопрос написала, в общем-то интересует в конструкторе я могу это использовать или нет?
|
|||
8
Xelga
29.07.12
✎
23:25
|
запросы очень большие, которые объединить надо, текстом неудобно писать , вот думала как это можно сделать через конструктор
|
|||
9
Пеппи
29.07.12
✎
23:25
|
можно конечно
|
|||
10
Пеппи
29.07.12
✎
23:26
|
на закладке Объединение/псевдонимы
|
|||
11
aleks-id
29.07.12
✎
23:29
|
(6) это к чему?
я так понял что у ТС задача выбрать первым запросом а1,а2,а3 вторым запросом б1,б2,б3 и получить в итоге а1,а2,а3,б1,б2,б3 |
|||
12
Пеппи
29.07.12
✎
23:32
|
(11) смотри (7)
|
|||
13
Xelga
29.07.12
✎
23:34
|
(11) ну да задача именно такая и объединить для этого и используется, вот нашла пример
ВЫБРАТЬ Номенклатура, СУММА(КолПриход) КАК КолПриход, СУММА(СумПриход) КАК СумПриход, СУММА(КолРасход) КАК КолРасход, СУММА(СумРасход) КАК СумРасход ИЗ (ВЫБРАТЬ Номенклатура, Количество КАК КолПриход, Сумма КАК СумПриход, 0 КАК КолРасход, 0 КАК СумРасход ИЗ Документ.Приходная.Товары ОБЪЕДИНИТЬ ВЫБРАТЬ Номенклатура, 0 КАК КолПриход, 0 КАК СумПриход, Количество КАК КолРасход, Сумма КАК СумРасход ИЗ Документ.Расходная.Товары) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО Номенклатура мне нужно что-то типа такого только внутри запросы огромные, думаю как удобнее сделать |
|||
14
Xelga
29.07.12
✎
23:38
|
(10) я добавлю допустим запрос2, а где внешний запрос прописывать? который будет объединять результаты запроса1 и запроса2 , непонятно как-то
|
|||
15
Xelga
29.07.12
✎
23:43
|
где потом внешнюю группировку прописывать?
|
|||
16
Пеппи
29.07.12
✎
23:47
|
(15) нужно создать вложенный запрос в котором создаете объединение таблиц.
|
|||
17
глазковыколупыватель
29.07.12
✎
23:48
|
"ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура, | СУММА(ВложенныйЗапрос.КолПриход) КАК КолПриход, | СУММА(ВложенныйЗапрос.СумПриход) КАК СумПриход, | СУММА(ВложенныйЗапрос.КолРасход) КАК КолРасход, | СУММА(ВложенныйЗапрос.СумРасход) КАК СумРасход |ИЗ | (ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | СУММА(ВложенныйЗапрос.КолПриход) КАК КолПриход, | СУММА(ВложенныйЗапрос.СумПриход) КАК СумПриход, | СУММА(ВложенныйЗапрос.КолРасход) КАК КолРасход, | СУММА(ВложенныйЗапрос.СумРасход) КАК СумРасход | ИЗ | (ВЫБРАТЬ | ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура, | ПоступлениеТоваровТовары.Количество КАК КолПриход, | ПоступлениеТоваровТовары.Сумма КАК СумПриход, | 0 КАК КолРасход, | 0 КАК СумРасход | ИЗ | Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | РеализацияТоваровТовары.Номенклатура, | 0, | 0, | РеализацияТоваровТовары.Количество, | РеализацияТоваровТовары.Сумма | ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары) КАК ВложенныйЗапрос | | СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Номенклатура) КАК ВложенныйЗапрос | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Номенклатура" Мб так? |
|||
18
Xelga
30.07.12
✎
00:45
|
с объединением получилось, возник по ходу другой вопрос, как в запросе вставить строковую константу, я имею в виду то, что в запросе sql было бы так
select 'какая-то строка' as НазваниеПоля |
|||
19
chelentano
30.07.12
✎
07:03
|
(18) также, только вместо ' ставишь ""
|
|||
20
Рэйв
30.07.12
✎
07:05
|
(18)
Выбрать "Какаято строка" КАК Название |
|||
21
Живой Ископаемый
30.07.12
✎
07:59
|
Юнион - не параметр...
|
|||
22
SnarkHunter
30.07.12
✎
08:00
|
Уже говорили, что Union - это не параметр?
|
|||
23
shuhard
30.07.12
✎
08:15
|
(22) а инфаркт ТС от термина предикатив не хватит ?
|
|||
24
Xelga
30.07.12
✎
08:54
|
(21),(22) да понятно что не параметр, не знаю я как правильно называется)) главное что вопрос решила)
|
|||
25
Живой Ископаемый
30.07.12
✎
08:59
|
надо было сразу жЁппой называть, тогда бы решилось быстрее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |