|
Подскажите про Левое Соединение | ☑ | ||
---|---|---|---|---|
0
bvn-2005
11.12.18
✎
15:50
|
Вот такой запрос:
|ВЫБРАТЬ | ДополнительныеСведения.Свойство КАК Свойство, | ДополнительныеСведения.Значение КАК Значение, | Номенкл.Ссылка КАК Ссылка |ПОМЕСТИТЬ НомШир |ИЗ | Номенкл КАК Номенкл | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения | ПО Номенкл.Ссылка = ДополнительныеСведения.Объект |ГДЕ | ДополнительныеСведения.Свойство.Заголовок = &Ширина Все бы хорошо, но когда в таблице ДополнительныеСведения нет соответсвующего значение, то и весь результат получается пустым. Как сделать, чтобы Номенклатура попадала в запрос? |
|||
1
Numerus Mikhail
11.12.18
✎
15:51
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ПО Номенкл.Ссылка = ДополнительныеСведения.Объект И ДополнительныеСведения.Свойство.Заголовок = &Ширина условие ГДЕ убрать вообще |
|||
2
olegves
11.12.18
✎
15:51
|
(0) ДополнительныеСведения.Свойство.Заголовок = &Ширина убери в условие соединения, а то у тебя получается внутреннее
|
|||
3
Вафель
11.12.18
✎
16:01
|
у свойств есть реквизит Имя
|
|||
4
bvn-2005
11.12.18
✎
16:07
|
А как тогда отобрать именно Ширину?
|
|||
5
sima
11.12.18
✎
16:18
|
(4) Держи:
|ВЫБРАТЬ | ДополнительныеСведения.Свойство КАК Свойство, | ДополнительныеСведения.Значение КАК Значение, | Номенкл.Ссылка КАК Ссылка |ПОМЕСТИТЬ НомШир |ИЗ | Номенкл КАК Номенкл | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения | ПО Номенкл.Ссылка = ДополнительныеСведения.Объект И ДополнительныеСведения.Свойство.Заголовок = &Ширина |
|||
6
bvn-2005
11.12.18
✎
16:28
|
О, так работает! Спасибо!
|
|||
7
Numerus Mikhail
11.12.18
✎
16:33
|
(6) а теперь скажи, чем это отличается от того, что я написал в (1)?)
|
|||
8
sima
11.12.18
✎
16:37
|
(6) пожалуйста
(7) я подумывал даже кавычки добавить и точку с запятой вконце запроса, что бы зашло |
|||
9
Chameleon1980
12.12.18
✎
09:34
|
ТС не упусти момент усвоить, что условия
в запросе (не в соединении) превращают твое левое соединение во внутреннее. Нередкая ошибка просто. |
|||
10
quest
12.12.18
✎
10:09
|
(9) расшифруй мысль
|
|||
11
exwill
12.12.18
✎
10:11
|
(10) Левое соединение не всегда левое. Так понятно?
|
|||
12
quest
12.12.18
✎
10:23
|
(11) Нет. На примере можешь показать?
|
|||
13
Numerus Mikhail
12.12.18
✎
10:26
|
(12) Пример в (0)
|
|||
14
catena
12.12.18
✎
10:33
|
(10)Условия, наложенные на поля левой таблицы, исключают все значения NULL из результата. А без NULLя слева - это уже не левое, а внутреннее.
|
|||
15
HardBall
12.12.18
✎
10:39
|
|ГДЕ
| ДополнительныеСведения.Свойство.Заголовок = &Ширина Это условие на результирующую таблицу. Все записи с NULL уйдут. Причем здесь внутреннее соединение. |
|||
16
Chameleon1980
12.12.18
✎
11:36
|
(15) с херали баня то?
|
|||
17
quest
12.12.18
✎
11:53
|
(14) То что результат будет аналогичен - это понятно, но как левое соединение превращается во внутреннее?
Насколько понимаю - соединение отдельно, условия отдельно. Или теперь платформа при компиляции запроса делает за меня эту замену? |
|||
18
RomanYS
12.12.18
✎
11:55
|
(17) речь именно про результат. Если ты хочешь получить результат внутреннего соединения, не надо делать левое с условиями на правую таблицу.
|
|||
19
Chameleon1980
12.12.18
✎
12:02
|
(18) Одно "не" забыл
|
|||
20
GANR
12.12.18
✎
12:06
|
(0) Баяяяяян... Если в правой таблице NULL, то результат проверки условия в ГДЕ будет ЛОЖЬ. Понятно?
|
|||
21
catena
12.12.18
✎
12:16
|
(17)Пф, ну если говорить о том, что делает платформа при компиляции, то текст запроса из окошка 1С можно вообще не рассматривать.
|
|||
22
RomanYS
12.12.18
✎
12:16
|
(19) нет, не забыл.
Можно вообще без условий: "не надо делать левое с условиями на правую таблицу" |
|||
23
Chameleon1980
12.12.18
✎
12:22
|
(22)
предположил, что должно было звучать так "Если ты не хочешь получить результат внутреннего соединения, не надо делать левое с условиями на правую таблицу", а не так "Если ты хочешь получить результат внутреннего соединения, не надо делать левое с условиями на правую таблицу" |
|||
24
Chameleon1980
12.12.18
✎
12:23
|
ну и да...
так проще "не надо делать левое с условиями на правую таблицу" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |