|
v8: Условный выбор поля в запросе | ☑ | ||
---|---|---|---|---|
0
iceman2112
09.01.12
✎
15:30
|
Нужно выбирать сотрудников и их адрес, если адреса не задан то пусто
Вот запрос: ВЫБРАТЬ СотрудникиОрганизаций.Наименование, КонтактнаяИнформация.Представление ИЗ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО СотрудникиОрганизаций.Ссылка = КонтактнаяИнформация.Объект ГДЕ КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) Сейчас он если нет адреса то не включает этого сотрудника в выборку вообще. |
|||
1
Kreont
09.01.12
✎
15:31
|
А надо : ЛЕВОЕ
|
|||
2
iceman2112
09.01.12
✎
15:31
|
ВЫБРАТЬ
СотрудникиОрганизаций.Наименование, КонтактнаяИнформация.Представление ИЗ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО СотрудникиОрганизаций.Ссылка = КонтактнаяИнформация.Объект ГДЕ КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) все равно такой же результат |
|||
3
Kreont
09.01.12
✎
15:34
|
или
КонтактнаяИнформация.Тип ЕСТЬ NULL |
|||
4
iceman2112
09.01.12
✎
15:51
|
а при чем тут .Тип?
|
|||
5
Kreont
09.01.12
✎
15:55
|
Соединение двух таблиц, если адресов нету, то в таблице РегистрСведений.КонтактнаяИнформация, уж тем более нету информации о "КонтактнаяИнформация.Тип" из условия "ГДЕ" в запросе, поскольку получается что самой целой 2-ой таблици нету, как то так :)
|
|||
6
hhhh
09.01.12
✎
15:55
|
(4) ну вы пишете
ГДЕ КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ ... а с какого это бодуна у вас тип будет равен этому значению? ясно, что он по-любому NULL. |
|||
7
iceman2112
09.01.12
✎
15:58
|
без условия работает. А как тогда быть, если мне нужно выбрать адреса, он же все будет выбирать?
|
|||
8
PVV65
09.01.12
✎
15:59
|
(6) Это ты чойто придумал.
|
|||
9
Ненавижу 1С
гуру
09.01.12
✎
15:59
|
ПО СотрудникиОрганизаций.Ссылка = КонтактнаяИнформация.Объект
И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) |
|||
10
iceman2112
09.01.12
✎
16:01
|
да работает, спасибо!
|
|||
11
rs_trade
09.01.12
✎
16:01
|
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО (СотрудникиОрганизаций.Ссылка = КонтактнаяИнформация.Объект И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) |
|||
12
Kreont
09.01.12
✎
16:01
|
(9) если адреса нету то не попадет в результат "целый" сотрудник
|
|||
13
rs_trade
09.01.12
✎
16:08
|
(12) попадание сотрудника при левом джойне ограничевается только условием ГДЕ
|
|||
14
iceman2112
09.01.12
✎
16:16
|
Это я понял, спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |