Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сортировка в TQuery / 5 сообщений из 5, страница 1 из 1
02.10.2002, 16:43
    #32054886
neo
neo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в TQuery
Есть таблицы со следующими полями:
tbl(id,name,parametr,..,id1,id2,..)
tbl1(id1,name1,part1)
tbl2(id2,name2,number2,..)
В таблице tbl поле id1 связано, один к одному, с таблицей tlb1, а id2 связяно - с табл. tld2.
Результирующиий набор данных получаю так:
'select * from tbl'
Результат помещается в DbGrid. В TQuery добавляю поля "просмотра" (lookup-проля), связанные с id1 и id2, соответственно name1, name2.

Проблема заключается в том что по полям name1 и name2, результирующиий набор надо сортировать .
Написать запрос вида:
select tbl.*, tbl1.name1, tbl2.name2
from tbl, tbl1, tbl2
where tbl.id1=tbl1.tbl1 and tbl.id2=tbl2.id2
order by tbl1.name1, tbl2.name2
нельзя потому что в табл. tbl поля id1 и id2 могут иметь значение 0 или Null, т.е. этих записей соответственно в табл. tbl1 и tbl2 нет.

Посоветуйте как решить эту проблему. Заранее благодаре.
...
Рейтинг: 0 / 0
02.10.2002, 16:55
    #32054888
LG
LG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в TQuery
Измени тип LookUp на InternalCalc.
Далее на OnCalc или OnAfterScroll
Код: plaintext
1.
2.
3.
tbl.Edit;
tblFieldX.Value := [LookUpValue];
tbl.Post;
...
Рейтинг: 0 / 0
02.10.2002, 17:23
    #32054904
neo
neo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в TQuery
Извини, но я не понял, объясни пожалуйста.

Если ты имеешь ввиду создание вместо поля "выбора данных"(lookup field), вычисляемое поле(calculated Field) тогда все равно остается проблема, как сортировать по таким полям. У меня есть две идеи: спомощью "хитрого" запроса к БД(но какого), или как то спомощью BDE.
...
Рейтинг: 0 / 0
03.10.2002, 09:07
    #32055024
Luchkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в TQuery
select tbl.* from tbl
left join tbl1 on tbl.id1=tbl1.id1
left join tbl2 on tbl.id2=tbl2.id2
order by isnull(tbl1.name1, ''), isnull(tbl2.name2, '')
...
Рейтинг: 0 / 0
03.10.2002, 11:12
    #32055086
neo
neo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в TQuery
Спасибо, получилось.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сортировка в TQuery / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]