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

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

SQL запрос [D6, MSSQL]


zks ©   (2003-07-01 04:10:00) 

Здравствуйте!
У меня такой вопрос. Есть главная таблица TTable1
с такими полями:
ID Integer - уникальный ключ
Date_Crt Date - дата создания записи
Area_VIO integer - код района (список районов находится в таблице TRaion)
Streat_VIO integer - код улицы
Area_Organ integer - код района
Streat_Organ integer - код улицы.

И другие поля. Вопрос? Можно ли сделать запрс SELECT так, чтобы вместо кодов районов и улиц выводилось их названия. НО если в таблице эти поля встречаются один раз то запрос SELECT *
FROM TTable1 INNER JOIN TRaion OF - работает. А когда несколько полей связаны с одной таблицей то не получается выполнить запрос. Буду признателен за любую подсказку. Если непонятно обьяснил то переспрашивайте.


ЮЮ   (2003-07-07 06:07:00) [1]

И приведи код запроса. Это тебе кажется, что ты учёл все советы, а ошибка - она всё же в запросе


ЮЮ   (2003-07-07 06:00:00) [2]

>Не работает. Все равно

Ответьшь, наконец, что значит не работает? Ошибку выдает? Какую?


zks   (2003-07-07 05:23:00) [3]

Не работает. Все равно


zks   (2003-07-02 10:24:00) [4]

Выдает одинаковые районы хотя коды разные соответственно названия разные. Точно скажу завтра. Еще раз проверю.


ЮЮ   (2003-07-02 05:50:00) [5]

Еще INNER JOIN можно заменить на LEFT JOIN. Я лично всегдаиспользую именно LEFT JOINпри связи таблиц


ЮЮ   (2003-07-02 05:36:00) [6]

Что значит не работает? Ошибку выдает? Какую?

>Например в поле Area_VIO = 107 (Центральный раон) а в поле Area_Organ = 108 (Советский район) в одной и той же записи.

Мы и связываем по разным полям
INNER JOIN TRaion R1 ON Main.Area_VIO= R1.ID
INNER JOIN TRaion R2 ON Main.Area_Organ= R2.ID


zks   (2003-07-02 04:06:00) [7]

Не работает.
Так как в этих полях могут храниться разные коды. Например в поле Area_VIO = 107 (Центральный раон) а в поле Area_Organ = 108 (Советский район) в одной и той же записи.


zks   (2003-07-01 09:10:00) [8]

Попробую и завтра скажу получилось или нет.


ЮЮ   (2003-07-01 05:23:00) [9]

SELECT *
FROM
TTable1 Main
INNER JOIN TRaion R1ON Main.Area_VIO = R1.ID
INNER JOIN TRaion R2ON Main.Area_Organ = R2.ID


Наверх

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