|
Условия на связь таблиц (ЗУП 8.1) - сотрудники и контактная информация | ☑ | ||
---|---|---|---|---|
0
vechiy
09.09.11
✎
17:48
|
Помогите решить следующую задачку:
нужно вывести сотрудников и некоторые виды их контактной информации. Проблема возникает, если у какого-то сотрудника нет какого-то вида контактов - не выводится полностью строка по сотруднику, поскольку таблицы сотрудников и контактов связаны(левым соединением). Соединял по-другому - проблема осталась. Как вывести всех сотрудников, независимо от наличия у них определенных видов контактов? |
|||
1
Beduin
09.09.11
✎
17:50
|
(0) Что значит "если у какого-то сотрудника нет какого-то вида контактов - не выводится полностью строка по сотруднику"
Как это не выводится полностью? |
|||
2
На стороне добра
09.09.11
✎
17:55
|
запрос покажи
|
|||
3
vechiy
09.09.11
✎
17:56
|
рег.сведений "работники организаций" соединен с рег.сведений "контактная информация"
у контактной информации есть тип - телефон, мэйл и вид - домашний телефон, служебный, и т.д. Нужно вывести несколько разных контактов. Если хоть один отсутствует - строка, получается, не удовлетворяет условиям и не выводится |
|||
4
vechiy
09.09.11
✎
17:57
|
ВЫБРАТЬ
КонтактнаяИнформация.Объект, КонтактнаяИнформация.Тип, КонтактнаяИнформация.Вид, КонтактнаяИнформация.Представление, РаботникиОрганизаций.Сотрудник ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО (РаботникиОрганизаций.Сотрудник.Физлицо = КонтактнаяИнформация.Объект) ГДЕ РаботникиОрганизаций.Сотрудник = &Сотрудник И КонтактнаяИнформация.Вид = &ВидКонтИнформации |
|||
5
guitar_player
09.09.11
✎
17:57
|
условия в ГДЕ? перенеси условия в соединения связи
|
|||
6
guitar_player
09.09.11
✎
17:57
|
И КонтактнаяИнформация.Вид = &ВидКонтИнформации
|
|||
7
guitar_player
09.09.11
✎
17:57
|
вот это
|
|||
8
Beduin
09.09.11
✎
17:57
|
(4) Слева наверно таблица сотрудников должна быть
|
|||
9
vechiy
09.09.11
✎
17:58
|
(5) пробовал, не получилось. МОжет, не правильно условия описывал
|
|||
10
guitar_player
09.09.11
✎
17:58
|
(4) ну и конечно к работникам нужно контактную информацию левым присоединять, а не наоборот
|
|||
11
almar
09.09.11
✎
17:59
|
(4) Наоборот надо
ВЫБРАТЬ * ИЗ Справочник.Сотрудники ЛевоеСоединение РегистрСведений.КонтактнаяИнформация |
|||
12
На стороне добра
09.09.11
✎
17:59
|
в (10) и (5) правильный ответ )
|
|||
13
guitar_player
09.09.11
✎
17:59
|
ВЫБРАТЬ
КонтактнаяИнформация.Объект, КонтактнаяИнформация.Тип, КонтактнаяИнформация.Вид, КонтактнаяИнформация.Представление, РаботникиОрганизаций.Сотрудник ИЗ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО (РаботникиОрганизаций.Сотрудник.Физлицо = КонтактнаяИнформация.Объект И КонтактнаяИнформация.Вид = &ВидКонтИнформации) ГДЕ РаботникиОрганизаций.Сотрудник = &Сотрудник |
|||
14
Beduin
09.09.11
✎
18:00
|
(4) И КонтактнаяИнформация.Вид = &ВидКонтИнформации
А это условие нужно убрать. Иначе когда строчка с пустым видом получится то она выпадет из запроса. |
|||
15
vechiy
09.09.11
✎
18:00
|
ВЫБРАТЬ
КонтактнаяИнформация.Объект, КонтактнаяИнформация.Тип, КонтактнаяИнформация.Вид, КонтактнаяИнформация.Представление, РаботникиОрганизаций.Сотрудник ИЗ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО РаботникиОрганизаций.Сотрудник.Физлицо = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Вид = &ВидКонтИнформации) ГДЕ РаботникиОрганизаций.Сотрудник = &Сотрудник вот так получилось, спасибо! :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |