|
Запрос, левое соедение, записей больше чем надо... | ☑ | ||
---|---|---|---|---|
0
Coldboy
01.08.12
✎
17:09
|
Здравствуйте. Проблема собственно такова, если сделать запрос к регистру сведений, то он вернет мне всего лишь, 600 записей, что по факту и есть, таким запросом
"ВЫБРАТЬ | ЗвонкиПоDOCGA.ВремяНачала, | ЗвонкиПоDOCGA.ТелефонА, | ЗвонкиПоDOCGA.ТелефонВ, | ЗвонкиПоDOCGA.RecordID, | ЗвонкиПоDOCGA.Обработана, | ЗвонкиПоDOCGA.Продолжительность |ИЗ | РегистрСведений.ЗвонкиПоDOCGA КАК ЗвонкиПоDOCGA |ГДЕ | ЗвонкиПоDOCGA.Обработана = ЛОЖЬ"; но после того, как я делаю еще левое соединение со справочником, чтобы для определения направлений, мне возвращается, 16к, откуда и почему. где я неправильно в запросе сделал, подскажите пожалуйста. Вроде бы нет ошибок. ВЫБРАТЬ | ЗвонкиПоDOCGA.ВремяНачала, | ЗвонкиПоDOCGA.ТелефонА, | ЗвонкиПоDOCGA.ТелефонВ, | ЗвонкиПоDOCGA.RecordID, | ЗвонкиПоDOCGA.Продолжительность, | Направления.Оператор, | Направления.ЦенаОператору КАК ЦенаОператору, | Направления.ГрадацияВызова, | Направления.Ссылка КАК Направление, | ЗвонкиПоDOCGA.ВходящийОператор, | ЗвонкиПоDOCGA.ТелефонОригинальный |ИЗ | РегистрСведений.ЗвонкиПоDOCGA КАК ЗвонкиПоDOCGA | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Направления КАК Направления | ПО (Направления.ПометкаУдаления = ЛОЖЬ) | И ЗвонкиПоDOCGA.ТелефонА <= Направления.КонецДиапазонаНомеров | И ЗвонкиПоDOCGA.ТелефонА >= Направления.НачалоДиапазонаНомеров |ГДЕ | ЗвонкиПоDOCGA.Обработана = ЛОЖЬ" |
|||
1
mikecool
01.08.12
✎
17:10
|
потому что справа записей больше, чем слева и они удовлетворяют условию соединения
|
|||
2
GLazNik
01.08.12
✎
17:11
|
Это нормально. На одну запись изначального запроса попадает несколько записей из связанной таблицы.
|
|||
3
DrShad
01.08.12
✎
17:11
|
связи неверно указаны
|
|||
4
Spieluhr
01.08.12
✎
17:11
|
ЗвонкиПоDOCGA.Обработана = ЛОЖЬ
в условие соединения поставьте |
|||
5
mikecool
01.08.12
✎
17:12
|
(3) да все может быть верно ))
вот только дофига записей справа |
|||
6
GLazNik
01.08.12
✎
17:13
|
(4) нафиг
|
|||
7
Coldboy
01.08.12
✎
17:13
|
Как сделать, чтобы мне именно мои 600 записей, тока соединял нормально и все.
|
|||
8
Coldboy
01.08.12
✎
17:14
|
(1) быть не может, чтобы число допустси 123
лежало в диапазоне 1 99, 100 200, и 200 до 300. |
|||
9
Pro-tone
01.08.12
✎
17:14
|
(7) СГРУППИРОВАТЬ
|
|||
10
Coldboy
01.08.12
✎
17:15
|
Еще раз сгруппировать эт как?
|
|||
11
GLazNik
01.08.12
✎
17:16
|
(8) а диапазоны номеров точно не пересекаются?
ради интереса выведи в результирующую таблицу НачалоДиапазонаНомеров, КонецДиапазонаНомеров |
|||
12
GLazNik
01.08.12
✎
17:17
|
+(11) возможно не хватает каких то условий на Направления
|
|||
13
Coldboy
01.08.12
✎
17:18
|
(11) хотя запрос
Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.ВремяНачала, | ВложенныйЗапрос.ТелефонА, | ВложенныйЗапрос.ТелефонВ, | ВложенныйЗапрос.Направление КАК Направление, | ВложенныйЗапрос.ТипВызова, | ВложенныйЗапрос.RecordID, | ВложенныйЗапрос.ГрадацияВызова, | ВложенныйЗапрос.Оператор, | ВложенныйЗапрос.Цена, | ВложенныйЗапрос.ЦенаОператору, | ВложенныйЗапрос.Продолжительность, | ИндивидуальныеСкидкиСрезПоследних.Направление КАК НаправлениеСоСкидки, | ИндивидуальныеСкидкиСрезПоследних.Телефон, | ИндивидуальныеСкидкиСрезПоследних.ЦенаПоСкидке, | ВложенныйЗапрос.ТелефонОригинальный КАК ТелефонОригинальный, | ВложенныйЗапрос.ТипРасчета, | ВложенныйЗапрос.КатегорияОператора |ИЗ | (ВЫБРАТЬ | ЗвонкиПоDCCCA.ВремяНачала КАК ВремяНачала, | ЗвонкиПоDCCCA.ТелефонА КАК ТелефонА, | ЗвонкиПоDCCCA.ТелефонВ КАК ТелефонВ, | ЗвонкиПоDCCCA.ТипВызова КАК ТипВызова, | ЗвонкиПоDCCCA.RecordID КАК RecordID, | Направления.Ссылка КАК Направление, | Направления.ГрадацияВызова КАК ГрадацияВызова, | Направления.Оператор КАК Оператор, | Направления.Цена КАК Цена, | Направления.ЦенаОператору КАК ЦенаОператору, | ЗвонкиПоDCCCA.Продолжительность КАК Продолжительность, | ЗвонкиПоDCCCA.ТелефонОригинальный КАК ТелефонОригинальный, | ЗвонкиПоDCCCA.ТипРасчета КАК ТипРасчета, | ЗвонкиПоDCCCA.КатегорияОператора КАК КатегорияОператора | ИЗ | РегистрСведений.ЗвонкиПоDCCCA КАК ЗвонкиПоDCCCA | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Направления КАК Направления | ПО ЗвонкиПоDCCCA.ТелефонВ >= Направления.НачалоДиапазонаНомеров | И ЗвонкиПоDCCCA.ТелефонВ <= Направления.КонецДиапазонаНомеров | И (Направления.ПометкаУдаления = ЛОЖЬ) | ГДЕ | ЗвонкиПоDCCCA.Обработана = ЛОЖЬ) КАК ВложенныйЗапрос | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИндивидуальныеСкидки.СрезПоследних КАК ИндивидуальныеСкидкиСрезПоследних | ПО ВложенныйЗапрос.ТелефонА = ИндивидуальныеСкидкиСрезПоследних.Телефон | И ВложенныйЗапрос.Направление = ИндивидуальныеСкидкиСрезПоследних.Направление | И ВложенныйЗапрос.ВремяНачала >= ИндивидуальныеСкидкиСрезПоследних.Период"; Отрабатывает четко. ДА не пересекаются, т.к эт телефонные направления, а номер уникален... |
|||
14
Coldboy
01.08.12
✎
17:22
|
Он выбирает, почему то, те 13к, вместе ТелефонаА 0 ставит ... как так? А 0 у меня попадает в направление 0,0. Но там другая фишка с ними.
|
|||
15
GLazNik
01.08.12
✎
17:24
|
(14) поставь условие ТелефонА <> 0 :)
|
|||
16
Coldboy
01.08.12
✎
17:24
|
(14) где в связях или же в условиях?
|
|||
17
GLazNik
01.08.12
✎
17:25
|
(16) зависит от потребностей... нужна ли запись с ТелефонА = 0 в результате или нужно только связи "отрезать"
|
|||
18
Pro-tone
модератор
01.08.12
✎
17:28
|
(0)
сдается мне, что для начала с твоим условием соединения одной записи РС удовлетворяет куча элементов из справочника, поэтому они попадают в выборку, определись какой элемент "Направлений" ты хочешь (например, с максимальной ценой), по этому условию и группируй |
|||
19
Coldboy
01.08.12
✎
17:29
|
попали те, у которых диапазон Конец = 0 и начало = 0 , все записи оттуда вытекли, и вместо ТелефонА, стало 0.
Не добирает 3-х записей, но все равно спасибо, когда недобирает, уже проще Всем спасибо. |
|||
20
GLazNik
01.08.12
✎
17:30
|
(19) тык ты условие то куда поставил?
|
|||
21
Coldboy
01.08.12
✎
17:31
|
в Условия воткнул,
короче понятно откуда взялось, всем спасибо, у меня 3 записи оказалось, где телефонА = 0, оттуда я вытащил 3*5к =15к лишних. Тута уже косяк входных данных, извините. |
|||
22
GLazNik
01.08.12
✎
17:32
|
(21) воткни в связь и у тебя будут все записи из регистра
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |