Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

Сортировка в запросе   Найти похожие ветки 

 
Mishenka   (2006-08-30 15:54) [0]

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


 
Sergey13 ©   (2006-08-30 16:02) [1]

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


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

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

Уверен ?


 
Desdechado ©   (2006-08-30 16:09) [3]

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


 
Sergey13 ©   (2006-08-30 16:12) [4]

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

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


 
ANB ©   (2006-08-30 16:24) [5]


> SQL Ordet BY

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


 
MsGuns ©   (2006-08-30 16:40) [6]

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

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


 
Sergey13 ©   (2006-08-30 16:43) [7]

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


 
ANB ©   (2006-08-30 16:44) [8]


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

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


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


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

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


 
Sergey13 ©   (2006-08-31 09:05) [10]

> [9] Mishenka   (31.08.06 08:55)

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


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

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


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

> [11] Mishenka   (31.08.06 09:53)

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


 
MsGuns ©   (2006-08-31 11:12) [13]

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

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

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

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


 
Sergey13 ©   (2006-08-31 11:19) [14]

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


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


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

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


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

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


 
Sergey13 ©   (2006-09-06 16:38) [17]

> [15] Mishenka   (06.09.06 16:26)

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



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.047 c
1-1159004623
Destroyer
2006-09-23 13:43
2006.11.05
Ожидание потока


15-1160483544
Nic
2006-10-10 16:32
2006.11.05
Олимпиада 1C


2-1161322857
_Mouse_
2006-10-20 09:40
2006.11.05
Привязка открытия сайта на кнопку в программе.


6-1149969194
Lex Luthor
2006-06-10 23:53
2006.11.05
Idpop3 показ сообщений в ListViewe


2-1161582359
X_ksandr_X
2006-10-23 09:45
2006.11.05
сортирвка DbGrid