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

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

Сортировка в запросе [D6, Paradox]


Mishenka ©   (2006-08-30 15:54:00) 

В запросе заполнил свойство SQL, после чего добавил ещё подстановочный столбец (тобишь столбец в свойстве SQL не описан). Соответственно при попытке сделать сортировку по этому столбцу путём указания в свойстве SQL Ordet BY имя столбца выдаётся ошибка "Field in order by must be in result set". Как тогда сделать сортировку по подстановочному столбцу, который не описан в свойстве SQL, а был добавлен вручную???


Sergey13   (2006-09-06 16:38:00) [1]

> [15] Mishenka   (06.09.06 16:26)

Так по аналогии, если вычисление простое, основанное на полях одной записи. Если для вычисления требуется что-то еще то или никак или с большими извратами или воспользоваться советом MsGuns-а перегнать все в CDS и там как угодно сортировать.


Desdechado   (2006-09-06 16:32:00) [2]

а сортировку по цвету обоев не хочешь сделать?


Mishenka   (2006-09-06 16:26:00) [3]


> Sergey13 ©   (31.08.06 10:00) [12]
> Таблица в запросе может быть использована неоднократно.
> Используй псевдонимы.

Спасибо так всё заработало!
Остался последний вопрос, а как сделать сортировку для вычисляемого поля, которое вычисляется по событию OnCalcFields, было добавлено вручную и тоже не содержится в тексте SQL запроса?


Sergey13   (2006-08-31 11:19:00) [4]

> [13] MsGuns ©   (31.08.06 11:12)
> А где ты в сабже увидел компонент ?
В том то и дело, что НЕ увидел, но по присутствию свойства SQL понял, что это НЕ CDS. 8-)


MsGuns   (2006-08-31 11:12:00) [5]

>Sergey13 ©   (30.08.06 16:43) [7]
>Это другой компонент. Некорректно слегка, не находишь?

А где ты в сабже увидел компонент?

>ANB ©   (30.08.06 16:44) [8]
>и как в него order by то запихать на несуществующее поле ?

Ты путаешь извлечение данных с их отображением.
У TClientDataSet нет вообще никаких намеков на Order By и вообще сиквель.
Но у него есть много другого, в т.ч. Sort. По любомуполю.


Sergey13   (2006-08-31 10:00:00) [6]

> [11] Mishenka   (31.08.06 09:53)

Таблица в запросе может быть использована неоднократно. Используй псевдонимы.
Select * from table_name t1, table_name t2
where t1.id=t2.id_2


Mishenka   (2006-08-31 09:53:00) [7]

Просто у меня таблица связана сама с собой, то бишь подстановка происходит происходит из связанной записи из той же таблицы. Не совсем понятно как в этом случае в запросе подцепить подстановочное поле...


Sergey13   (2006-08-31 09:05:00) [8]

> [9] Mishenka   (31.08.06 08:55)

А как подробнее? В таблице есть поле, которое ссылается на поле другой таблицы. Что бы удобно редактировать это поле с выпадающим списком организуют лукап-поля (или подстановочные как ты пишешь). Тот же самый результат можно сделать прямо в запросе, т.е. "приделав" к 1-ой таблице значения из 2-ой. Редактировать такое поле нельзя (для этого остается лукап-поле), но сортировать по нему - в лет.


Mishenka   (2006-08-31 08:55:00) [9]


> Sergey13 ©   (30.08.06 16:02) [1]
> Никак. Можно только создать в запросе его аналог (наряду с лукапным) и отсортировать по нему.

А можно поподробнее, что за аналог имеется ввиду?


ANB   (2006-08-30 16:44:00) [10]


> Три волшебных буковки: CDS
> ;)

и как в него order by то запихать на несуществующее поле ?


Sergey13   (2006-08-30 16:43:00) [11]

> [6] MsGuns ©   (30.08.06 16:40)
Это другой компонент. Некорректно слегка, не находишь?


MsGuns   (2006-08-30 16:40:00) [12]

>Sergey13 ©   (30.08.06 16:12) [4]
>Ну разубеди меня! 8-)

Три волшебных буковки: CDS
;)


ANB   (2006-08-30 16:24:00) [13]


> SQL Ordet BY

А SQL движок знает, что ты на клиенте добавил это поле ?


Sergey13   (2006-08-30 16:12:00) [14]

> [2] MsGuns ©   (30.08.06 16:06)

Ну разубеди меня! 8-)


Desdechado   (2006-08-30 16:09:00) [15]

> Уверен ?
Такое поведение у некоторых серверов встречается, однако оно противоречит здравому смыслу и стандарту.


MsGuns   (2006-08-30 16:06:00) [16]

>Sergey13 ©   (30.08.06 16:02) [1]
>Никак.

Уверен ?


Sergey13   (2006-08-30 16:02:00) [17]

Никак. Можно только создать в запросеего аналог (наряду с лукапным) и отсортировать по нему.


Наверх

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