Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL выборка [D6, D7, MSSQL]


zks ©   (2003-02-06 12:52:00) 

Здраствуйте мастера и все!

У меня есть таблица с записями и в ней есть несколько полей (3 поля) в которых хранится код районо города. и есть таблица список районов. Когда я пишу SQL запрос на выборку, чтобы мне запрос вместо кода выдавал название района. Если по одному полю то получается а если по нескольким то незнаю как.

Запрос
SELECT Table1.*, TRaion.Name
FROM Table1 INNER JOIN TRaion ON (Table1.Area_List = TRaion.Code)

где Area_List - поле, которое хранит код района в таблице Table1, а как мне сделать для полей Area_VIO, Area_Pun, в них коды могут быть другие.

Зараннее благодарен за любую информацию.


zks   (2003-02-07 05:22:00) [1]

Попробовать я смогу только дома.
Попробую и напишу.


sniknik   (2003-02-06 13:19:00) [2]

не в тему.
лутше бы заменить INNER JOIN на LEFT JOIN, а то код к примеру есть а названия еще не набили? фигня получится, пусть лутше уж пустые показывает.

(не настаиваю, может по заданию так и надо)


passm   (2003-02-06 13:13:00) [3]

passm © (06.02.03 13:10)> Ну, разумеется, добавить наименования:
SELECT T1.*
FROM TABLE1 T1, R1.NAME AS RAION_NAME_1, R2.NAME AS TAION_NAME_2, R3.NAME AS RAION_NAME_3
INNER JOIN TRAION R1 ON (T1.AREA_LIST_1 = R1.CODE)
INNER JOIN TRAION R2 ON (T1.AREA_LIST_2 = R2.CODE)
INNER JOIN TRAION R3 ON (T1.AREA_LIST_3 = R3.CODE)


zks   (2003-02-06 13:10:00) [4]

Попробую.

Area_List хранит число 101 значит в гриде будет вместо числа название района Центральный.
Area_VIO - 105 - Советский (В ЭТОЙ ЖЕ СТРОКЕ)
Area_Pun - 102 - Свердловский (В ЭТОЙ ЖЕ СТРОКЕ)


passm   (2003-02-06 13:10:00) [5]

zks (06.02.03 12:52)> Не совсем понятно...
SELECT T1.*
FROM TABLE1 T1
INNER JOIN TRAION R1 ON (T1.AREA_LIST_1 = R1.CODE)
INNER JOIN TRAION R2 ON (T1.AREA_LIST_2 = R2.CODE)
INNER JOIN TRAION R3 ON (T1.AREA_LIST_3 = R3.CODE)
Это?


Johnmen   (2003-02-06 13:06:00) [6]

Если правильно понял:
... ON (Table1.Area_List = TRaion.Code) AND {или OR}
(Table1.Area_VIO = TRaion.Code) AND {или OR}
(Table1.Area_Pun = TRaion.Code)


Наверх

Титульная страница Поиск, карта сайта Написать письмо