neon писал(а):
Я кажется понял из-за чего это происходит, если выполнить запрос:
Код:
select dest_id,code
from bgbilling.phone_geographic_code_4
where dest_id=837
;
То мы получим множество кодов, соответственен при объединение они все вылезают. В связи с этим вопрос у каждого кода не индивидуальный dest_id ? Наверное нет,
тк таблицы
bgbilling.phone_dest_4 и bgbilling.phone_geographic_code_4
Связаны 1 к 1 по ID<>DEST_ID
Но в таблице bgbilling.phone_geographic_code_4
Может быть несколько кодов с одним DEST_ID (группы геогр кодов), наверное исходя из этого строится красивое дерево геогр кодов в модуле Phone.
Итого как строится отчет по DEST_ID если он для сессии однозначно не определен.
ясно.. Т.е у одного разные коды могут попадать на одно и то направление. Например все дочерние коды в Архангельской области привязаны к одному и тому же направлению. Это хорошо видно если запустить запрос
Код:
select group_concat(gc.code), gc.dest_id, count(*) as cc, dest.title from phone_geographic_code_73 as gc
left join phone_dest_73 as dest on gc.dest_id=dest.id
group by dest_id having cc > 1
У меня выводит (часть информации)
Код:
781830,781831,781832,781833,781834,781835,781836,781837,781838,781839,781840,781841,781842,781843,781844,781845,781846,781847,781848,781849,781850,781851,781852,781854,781855,781856,781858,781859 164011 28 Архангельская область/ Ненецкий АО {1}
78173,78174,78175 164023 3 Вологодская область {1}
....
Получается что отчет расчитан на случай: одно направление-один код.. Проблема в том, что в сессии не хранится код, а только направление. А по направлению нельзя однозначно определить код в общем случае. В качеств быстрого решения проблемы вижу - столбец убрать "код" из вывода и запроса, так как он имеет смысла в данном случае..Либо не пользоваться этим отчетом.