![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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