|
v8: Создание таблицы в запросе |
☑ |
0
Zorbba
26.12.11
✎
12:12
|
Допустим, есть справочник контрагентов:
Контрагент1
Контрагент2
Контрагент3
и перечисление типов:
Тип1
Тип2
Как посредством запроса сгенерировать таблицу вида:
КОНТРАГЕНТ ТИП СУММА
Контрагент1 Тип1 0
Контрагент1 Тип2 0
Контрагент2 Тип1 0
Контрагент2 Тип2 0
Контрагент3 Тип1 0
Контрагент3 Тип2 0
|
|
1
Maxus43
26.12.11
✎
12:13
|
соединение по ИСТИНА
|
|
2
Ненавижу 1С
гуру
26.12.11
✎
12:13
|
проще некуда, перечислить таблицы через запятую
|
|
3
guitar_player
26.12.11
✎
12:13
|
просто. Соединить по условию истина и добавить все поля, плюс поле со значением 0 в выборку
|
|
4
Maxus43
26.12.11
✎
12:15
|
ВЫБРАТЬ
Контрагенты.Ссылка КАК Контрагент,
Важность.Ссылка КАК Перечисление,
0 КАК Сумма
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.Важность КАК Важность
ПО (ИСТИНА)
|
|
5
rs_trade
26.12.11
✎
12:17
|
(3)(4) про кросс джойн не слыхали?
|
|
6
Maxus43
26.12.11
✎
12:17
|
(5) просвети тупых и жадных
|
|
7
Zorbba
26.12.11
✎
12:18
|
Благодарю, получилось.
|
|
8
rs_trade
26.12.11
✎
12:19
|
(6) в (2) написано
|
|
9
Maxus43
26.12.11
✎
12:53
|
(8) Кросс Джойн - Этот вид соединения нужно использовать с осторожностью, время выполнения растет пропорционально произведению количества записей соединяемых таблиц :)
|
|
10
rs_trade
26.12.11
✎
15:09
|
(9) а в левом по истине не так?
|
|
11
Maxus43
26.12.11
✎
15:52
|
(10) хз) суть одна. в языке запросов 1с нет явного указания кросс джойна
|
|
12
rs_trade
26.12.11
✎
16:52
|
(11) да ну. ты бы хоть проверил что ли, прежде чем писать.
|
|
13
Maxus43
26.12.11
✎
17:04
|
(12) явное указание - ЛЕВОЕ СОЕДИНЕНИЕ например, в СП 1с кросса нет, а в СКЛ есть явное указание CROSS JOIN. я это имел ввиду
|
|
14
rs_trade
26.12.11
✎
17:24
|
(13) Таблички через запятую это точно такое же явное указание, как и CROSS JOIN. Просто это разные версии синтаксической записи ANSI SQL.
|
|
15
Maxus43
26.12.11
✎
17:26
|
(140 буду знать сенсей
|
|