|
Сложный запрос 2 | ☑ | ||
---|---|---|---|---|
0
KuJIT
11.01.16
✎
16:10
|
Помогите, пожалуйста с составлением запроса.
Есть Справочник Партнеры, есть документы Счет и Заявка, которые имеют реквизит "Партнер". Нужно выбрать некоторые поля партнера и количество документов, которые ссылаются на этого партнера. Т.е. Примерно так: Выборка.СсылкаПартнера, Выборка.ИмяПартнера, Выборка.КоличествоСчетов, Выборка.КоличествоЗаявок; Я сделал так: Запрос.Текст = "ВЫБРАТЬ | Партнеры.Ссылка, | Партнеры.ОсновнойМенеджер, | Партнеры.Альянс_Автор КАК Автор, | Партнеры.ДатаРегистрации, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Альянс_Заявка.Ссылка) КАК КоличествоЗаявок, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ CRM_СчетНаОплатуПокупателю.Ссылка) КАК КоличествоСчетов |ИЗ | Справочник.Партнеры КАК Партнеры | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Альянс_Заявка КАК Альянс_Заявка | ПО Партнеры.Ссылка = Альянс_Заявка.Заказчик | ЛЕВОЕ СОЕДИНЕНИЕ Документ.CRM_СчетНаОплатуПокупателю КАК CRM_СчетНаОплатуПокупателю | ПО Партнеры.Ссылка = CRM_СчетНаОплатуПокупателю.Партнер |ГДЕ | CRM_СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ | И Альянс_Заявка.ПометкаУдаления = ЛОЖЬ | И Партнеры.ПометкаУдаления = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | Партнеры.Ссылка, | Партнеры.ОсновнойМенеджер, | Партнеры.Альянс_Автор, | Партнеры.ДатаРегистрации"; Однако, по такому запросу выбираются только те партнеры, на которых ссылается хотя бы одна заявка и хотя бы один счет, а мне нужны и с нулевым количеством, тоже. Что я делаю не так? |
|||
1
Господин ПЖ
11.01.16
✎
16:12
|
|ГДЕ
| CRM_СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ | И Альянс_Заявка.ПометкаУдаления = ЛОЖЬ |
|||
2
shuhard
11.01.16
✎
16:12
|
(0)[Что я делаю не так?]
всё |
|||
3
Господин ПЖ
11.01.16
✎
16:13
|
делаешь по сути внутреннее соединение
|
|||
4
ВРедная
11.01.16
✎
16:14
|
До применения отбора у тебя получается некая таблица, типа:
Партнер Акт заявка П1 акт null П2 null null П3 акт заявка Как ты думаешь, если в этой таблице найти только те строки, у которых акт и заявка не помечены на удаление, что останется? |
|||
5
HardBall
11.01.16
✎
16:15
|
Условия в ГДЕ перенеси в условия соединения
|
|||
6
noviolg
11.01.16
✎
16:16
|
(5) или ЕстьNULL в условии учесть
|
|||
7
HardBall
11.01.16
✎
16:17
|
ПО Партнеры.Ссылка = CRM_СчетНаОплатуПокупателю.Партнер И Партнеры.ПометкаУдаления = ЛОЖЬ
ИЛИ (6) |
|||
8
KuJIT
11.01.16
✎
17:12
|
(7) Я туповат -_-
|ИЗ | Справочник.Партнеры КАК Партнеры | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Альянс_Заявка КАК Альянс_Заявка | ПО Партнеры.Ссылка = Альянс_Заявка.Заказчик И Альянс_Заявка.ПометкаУдаления = ЛОЖЬ | ЛЕВОЕ СОЕДИНЕНИЕ Документ.CRM_СчетНаОплатуПокупателю КАК CRM_СчетНаОплатуПокупателю | ПО Партнеры.Ссылка = CRM_СчетНаОплатуПокупателю.Партнер И CRM_СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ |ГДЕ | И Партнеры.ПометкаУдаления = ЛОЖЬ Так вы имеете в виду изменить? |
|||
9
KuJIT
11.01.16
✎
17:18
|
(4) там не Акт и Заявка, а Количество актов и количество заявок
|
|||
10
HardBall
11.01.16
✎
17:18
|
(8)
Точно. Я не то скопипастил. |
|||
11
KuJIT
11.01.16
✎
17:18
|
(5) Как это должно выглядеть?
|
|||
12
KuJIT
11.01.16
✎
17:19
|
(10) {Форма.Форма.Форма(51)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать(); по причине: {(15, 5)}: Синтаксическая ошибка "И" <<?>>И Партнеры.ПометкаУдаления = ЛОЖЬ |
|||
13
KuJIT
11.01.16
✎
17:20
|
(12) Тупля =)
|
|||
14
KuJIT
11.01.16
✎
17:22
|
(10) Все сработало. Большое спасибо :D
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |