|
Запрос. Полное соединение. Не берет все нужные документы. | ☑ | ||
---|---|---|---|---|
0
ЗлаяЗая
17.06.19
✎
08:53
|
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ | Док1.Сотрудник, | Док1.Ссылка.Подразделение, | Док1.Ссылка.Смена, | Док1.Тариф, | Док1.ВремяПлан, | Док1.ПланФОТ, | Док2.ВремяФакт, | Док2.ФактФОТ |ИЗ | Документ.Док1 КАК Док1 | ПОЛНОЕ СОЕДИНЕНИЕ Документ.Док2 КАК Док2 | ПО Док1.Смена = Док2.Смена | И Док1.Сотрудник = Док2.Сотрудник |ГДЕ | Док1.Проведен = ИСТИНА | И Док1.Дата МЕЖДУ &Дата1 И &Дата2 | И Док1.Подразделение = &Подразделение | И Док2.Проведен = ИСТИНА | И Док2.Дата МЕЖДУ &Дата1 И &Дата2 | И Док2.Подразделение = &Подразделение"; Если нет документа Док2, то данные Док1 тоже не попадают в результат. |
|||
1
garantNo4x
17.06.19
✎
08:57
|
Ну зато условие выполняется
|
|||
2
ЗлаяЗая
17.06.19
✎
08:59
|
а как сделать?
делать 2 запроса и объединять? |
|||
3
тарам пам пам
17.06.19
✎
09:02
|
Условие из "где" перенеси в "по" - потому что "где" выполняется условно говоря после соединения. Т. е.
и так далее |
|||
4
PuhUfa
17.06.19
✎
09:02
|
(2) Исправить условия
|
|||
5
ЗлаяЗая
17.06.19
✎
09:17
|
| Документ.Док1 КАК Док1
| ПОЛНОЕ СОЕДИНЕНИЕ Документ.Док2 КАК Док2 | ПО Док1.Смена = Док2.Смена | И Док1.Сотрудник = Док2.Сотрудник | И Док1.Подразделение = Док2.Подразделение | И (Док2.Проведен = ИСТИНА) | И (Док1.Проведен = ИСТИНА) | И (Док2.Дата МЕЖДУ &Дата1 И &Дата2) | И (Док1.Дата МЕЖДУ &Дата1 И &Дата2) | И (Док2.Подразделение = &Подразделение) | И (Док1.Подразделение = &Подразделение)"; |
|||
6
ЗлаяЗая
17.06.19
✎
09:17
|
не помогло
|
|||
7
Широкий
17.06.19
✎
09:57
|
| Док1.Проведен = ИСТИНА
| И Док1.Дата МЕЖДУ &Дата1 И &Дата2 | И Док1.Подразделение = &Подразделение | И Док2.Проведен = ИСТИНА | И Док2.Дата МЕЖДУ &Дата1 И &Дата2 | И Док2.Подразделение = &Подразделение"; Ты этим условием во внутреннее соединение превращаешь |
|||
8
unf13
17.06.19
✎
10:26
|
на вскидку:
"ГДЕ ВЫБОР КОГДА Док1.Проведен ЕСТЬ NULL ТОГДА ИСТИНА ИНАЧЕ Док1.Проведен КОНЕЦ И ВЫБОР КОГДА Док2.Проведен ЕСТЬ NULL ТОГДА ИСТИНА ИНАЧЕ Док2.Проведен КОНЕЦ И ..." |
|||
9
Simod
17.06.19
✎
10:39
|
(0) Использование "И" для всех условий в секции "ГДЕ" делает обязательным наличие обоих документов (Док1, Док2), т.е. ПОЛНОЕ СОЕДИНЕНИЕ превращается во ВНУТРЕННЕЕ.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |