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

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

Сортировка LokUp-полей [D5, IB5.x, IB6.x]


Страницы:   1 2

User_OKA ©   (2003-02-06 09:12:00) 

В общем, с самого начала.
Существют таблицы - справочники:
X (поля: ID, Sprav);
Y (поля: ID, Sprav);
Z (поля: ID, Sprav),

а также таблица A (поля: ID, ID_X, ID_Y, ID_Z).
Пользователю нужно представить все это в одной таблице, чтобы вместо кодов значений высветились сами значения.
Делаю запрос:
"SELECT A.ID, X.Sprav, Y.Sprav, Z.Sprav
FROM A A, X X, Y Y, Z Z
WHERE A.ID_X = X.ID AND A.ID_Y = Y.ID AND A.ID_Z = Z.ID"
Сортировку можно проводить по любому полю, но если в таблице A не заполнено какое-либо поле (имеется ввиду ID_X, ID_Y или ID_Z), то строка не попадает в итоговый запрос и пользователь ее не увидит.
Выход в использовании lookup - полей.
Но как провести по ним сортировку?
Пишу "ORDER BY A.ID_Y", но сами значения справочника для пользователя все равно остаются неотсортированными.
Что делать?


User_OKA   (2003-02-06 09:33:00) [21]

Запрос с JOIN долго выполняется.
Особенно если в таблицах > 1000 записей.
Ксати, с lookup-полями запрос выполняется быстрее, чем с запросом WHERE.


AlexSerp   (2003-02-06 09:25:00) [22]

Пробовал так?
SELECT A.ID, X.Sprav, Y.Sprav, Z.Sprav
FROM A
left join x on A.ID_X = X.ID
left join y on A.ID_X = y.ID
left join z on A.ID_X = z.ID



Страницы:   1 2

Наверх

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