Текущий архив: 2006.02.12;
Скачать: CL | DM;
ВнизПроблема с запросом - выборка из одной таблицы Найти похожие ветки
← →
Explorer (2005-12-09 15:21) [0]Есть такие данные в таблице (так называемый КЛАДР - единный справочник городов, районов, областей России) :
Name CODE Index GNI LEnKod
Ханты-Мансийский - Югра 86000000000 8600 2
Кондинский 86004000000 8606 5
Нефтеюганский 86005000000 8619 5
Нижневартовский 86006000000 8620 5
Ханты-Мансийск 86000001000 626200 8601 8
Нижневартовск 86000011000 628600 8603 8
Радужный 86000015000 628460 8609 8
Усть-Колекъеган 86006000028 628655 8620 11
Чехломей 86006000029 628650 8620 11
Дивный 86000011004 628600 8620 11
LenKod - это "2" - АО, край, республика, область
"5" - районы
"8" - города
"11" - деревни, хутора, село
Надо чтобы когда идет поиск по городу (село, деревня), к примеру, ищу город "Нижневартовск", получил запись вида:
Город | Индекс Города | АО-край, Область | район
написал такой запрос:
select A.Name, A.Index, B.Name, C.Name,
from
(select * from SprKladr) A,
(select * from SprKladr where LenKod = 2) B,
(select * from SprKladr where LenKod = 5) C
where
B.Code Like (SUBSTRING(A.Code,0,3)+"%") and
C.GNI = A.GNIG and
A.LenKod > 5 and A.KladrName Like "Нижневартовск"
не срабатывает :( т.к. район пуст
когда подставлюя к примеру "Дивный" - все нормально
Подскажите, как правильно составить необходимый запрос?
← →
msguns © (2005-12-09 16:16) [1]А зачем вместо одного селекта аж 4 ?
← →
Explorer (2005-12-09 17:10) [2]поэтому и интересуюсь как запрос правильно составить
← →
evvcom © (2005-12-09 17:22) [3]Здесь чего-то не хватает. Где видно, что Нижневартовск (86000011000) относится к Нижневартовскому району (86006000000)?
← →
Explorer (2005-12-09 17:48) [4]>evvcom
все правильно... поэтому приведенный запрос ничего по поводу "Нижневартовска" не выводит когда нет района....
вот и сообразить как написать запрос, что бы получить запись нужного вида
← →
Explorer (2005-12-09 23:01) [5]меня интересует, как переделать запрос, чтобы если у города(деревни) нет района он вывел запись такого вида :
Город | Индекс Города | АО-край, Область | район
Нижневартовск |222222 | Ханты-Мансийский | "ПУСТО"
как все это получить из одной таблицы? :(
← →
Alexander Panov © (2005-12-09 23:51) [6]Нарисуй, как связаны Город, Область и Район.
Запрос-то несложный.
← →
Explorer (2005-12-10 11:11) [7]Сам понимаю, что не должно быть ничего сложного, но не получается :(
связаны по полю
LenKod - это "2" - АО, край, республика, область
"5" - районы
"8" - города
"11" - деревни, хутора, село
Не получается, сварганить запрос когда у города нет района
← →
Explorer (2005-12-10 12:34) [8]спасибо.
наконец то сообразил.
← →
evvcom © (2005-12-12 08:44) [9]
> Сам понимаю, что не должно быть ничего сложного, но не получается :(
> связаны по полю LenKod
Ты не понимаешь что такое связка. По LenKod они не связаны. LenKod только говорит о статусе записи и не более.
← →
msguns © (2005-12-12 09:40) [10]"Жесткая" зависимость выполняется через Where, "мягкая" - Join
Страницы: 1 вся ветка
Текущий архив: 2006.02.12;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.051 c