Имя: Пароль:
1C
 
помогите с запросом, а то я не догоняю((
,
0 inkvizitr
 
26.08.19
17:21
пишу такой запрос
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВременнаяТаблица.Ссылка КАК Ссылка
ИЗ
    ВременнаяТаблица КАК ВременнаяТаблица

При его выводе все выводится хорошо, добавляю в него строчку "РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры" при этом ресурсы и измерения не вывожу, так же не делаю ни каких левых и правых соединений и почему то выводится две одинаковых записи, почему так происходит?

вот текст запроса с строчкой добавленной

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВременнаяТаблица.Ссылка КАК Ссылка
ИЗ
    ВременнаяТаблица КАК ВременнаяТаблица,
    РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
1 sqr4
 
26.08.19
17:22
так там же все перемножается, для каждой записи одной таблицы выводятся все записи другой таблицы
2 gSha
 
26.08.19
17:23
странно что только две ..
3 gSha
 
26.08.19
17:23
впрочем первая часть запроса уже заставляет глубоко задуматься.
4 inkvizitr
 
26.08.19
17:25
(1) так я же ничего из регистра сведений не вывожу, он типа все равно будет перемножаться?
5 inkvizitr
 
26.08.19
17:25
(3) а чем первая часть запроса не нравится?
6 gSha
 
26.08.19
17:25
а это что
" ,
    РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры"
7 Ёпрст
 
26.08.19
17:26
(0) ёё...открыл для себя cross join ?
)))
8 gSha
 
26.08.19
17:26
(5) в ней какой то глубокий смысл, который мне , человеку далекому от лучших практик программирования не понятен.
9 inkvizitr
 
26.08.19
17:27
(7) так я же ничего не объединяю
10 gSha
 
26.08.19
17:27
(5) т.е. я бы просто полез в таблицу штрих кодов и не городил бы какие то временные таблицы которые ко всему прочему извлекают по одной записи ..
11 Ёпрст
 
26.08.19
17:27
(9) см (6)  запись "," во from это и есть "cross join"
12 gSha
 
26.08.19
17:28
",
    РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры"" ты из семерки что ли пришел ?
13 inkvizitr
 
26.08.19
17:28
(11) ааа.. понял
14 Ёпрст
 
26.08.19
17:28
>>>так я же ничего не объединяю

да.. и не надо путать cross join с union
15 inkvizitr
 
26.08.19
17:28
(10) да это я для примера набросал
16 Очевидно
 
26.08.19
17:28
(0) на вопрос "почему то выводится две одинаковых записи, почему так происходит?" ответ один.
"Реляционная алгебра". Очень рекомендую, перед тем как строить запросы с СУБД.
17 inkvizitr
 
26.08.19
17:29
(14) ок ща по внимательнее про это прочитаю
18 inkvizitr
 
26.08.19
17:29
(16) спс
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.