Форум: "Базы";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
ВнизСортировка в запросе Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.041 c