Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Проблема с запросом - выборка из одной таблицы   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.085 c
2-1138220512
Фрося
2006-01-25 23:21
2006.02.12
Как из текстового файла убрать символы перевода строки?


3-1134209177
312Kbps
2005-12-10 13:06
2006.02.12
файл данных *.gtd !!!


15-1137776919
Kerk
2006-01-20 20:08
2006.02.12
Quaero планирует переплюнуть Google


11-1118179095
Thaddy
2005-06-08 01:18
2006.02.12
Interested in KOL+ Wine?


5-1124975647
Aleksandr.
2005-08-25 17:14
2006.02.12
Что сделать с некорректной отрисовкой TCustomListBox?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский