powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сортировка в TQuery
5 сообщений из 5, страница 1 из 1
Сортировка в TQuery
    #32054886
neo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
neo
Гость
Есть таблицы со следующими полями:
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
Сортировка в TQuery
    #32054888
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Измени тип LookUp на InternalCalc.
Далее на OnCalc или OnAfterScroll
Код: plaintext
1.
2.
3.
tbl.Edit;
tblFieldX.Value := [LookUpValue];
tbl.Post;
...
Рейтинг: 0 / 0
Сортировка в TQuery
    #32054904
neo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
neo
Гость
Извини, но я не понял, объясни пожалуйста.

Если ты имеешь ввиду создание вместо поля "выбора данных"(lookup field), вычисляемое поле(calculated Field) тогда все равно остается проблема, как сортировать по таким полям. У меня есть две идеи: спомощью "хитрого" запроса к БД(но какого), или как то спомощью BDE.
...
Рейтинг: 0 / 0
Сортировка в TQuery
    #32055024
Фотография Luchkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Сортировка в TQuery
    #32055086
neo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
neo
Гость
Спасибо, получилось.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сортировка в TQuery
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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