![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с запросом - выборка из одной таблицы [D7, MSSQL]
Explorer © (2005-12-09 15:21:00)Есть такие данные в таблице (так называемый КЛАДР - единный справочник городов, районов, областей России) :
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-12 09:40:00) [1]"Жесткая" зависимость выполняется через Where, "мягкая" - Join
evvcom (2005-12-12 08:44:00) [2]
> Сам понимаю, что не должно быть ничего сложного, но не получается :(
> связаны по полю LenKod
Ты не понимаешь что такое связка. По LenKod они не связаны. LenKod только говорит о статусе записи и не более.
Explorer (2005-12-10 12:34:00) [3]спасибо.
наконец то сообразил.
Explorer (2005-12-10 11:11:00) [4]Сам понимаю, что не должно быть ничего сложного, но не получается :(
связаны по полю
LenKod - это '2' - АО, край, республика, область
'5' - районы
'8' - города
'11' - деревни, хутора, село
Не получается, сварганить запрос когда у города нет района
Alexander Panov (2005-12-09 23:51:00) [5]Нарисуй, как связаны Город, Область и Район.
Запрос-то несложный.
Explorer (2005-12-09 23:01:00) [6]меня интересует, как переделать запрос, чтобы если у города(деревни) нет района он вывел запись такого вида :
Город | Индекс Города | АО-край, Область | район
Нижневартовск |222222 | Ханты-Мансийский | 'ПУСТО'
как все это получить из одной таблицы? :(
Explorer (2005-12-09 17:48:00) [7]>evvcom
все правильно... поэтому приведенный запрос ничего по поводу 'Нижневартовска' не выводит когда нет района....
вот и сообразить как написать запрос, что бы получить запись нужного вида
evvcom (2005-12-09 17:22:00) [8]Здесь чего-то не хватает. Где видно, что Нижневартовск (86000011000) относится к Нижневартовскому району (86006000000)?
Explorer (2005-12-09 17:10:00) [9]поэтому и интересуюсь как запрос правильно составить
msguns (2005-12-09 16:16:00) [10]А зачем вместо одного селекта аж 4 ?