Недавно добавленные исходники

•  Animation Loaders  694

•  DeLiKaTeS Tetris (Тетрис)  5 695

•  TDictionary Custom Sort  7 653

•  Fast Watermark Sources  7 344

•  3D Designer  10 554

•  Sik Screen Capture  7 871

•  Patch Maker  8 093

•  Айболит (remote control)  8 153

•  ListBox Drag & Drop  6 948

•  Доска для игры Реверси  100 154

•  Графические эффекты  8 213

•  Рисование по маске  7 609

•  Перетаскивание изображений  6 211

•  Canvas Drawing  6 580

•  Рисование Луны  6 502

•  Поворот изображения  5 680

•  Рисование стержней  4 603

•  Paint on Shape  3 299

•  Генератор кроссвордов  4 287

•  Головоломка Paletto  3 429

•  Теорема Монжа об окружностях  4 250

•  Пазл Numbrix  2 755

•  Заборы и коммивояжеры  3 659

•  Игра HIP  2 467

•  Игра Go (Го)  2 450

•  Симулятор лифта  2 861

•  Программа укладки плитки  2 297

•  Генератор лабиринта  3 021

•  Проверка числового ввода  2 519

•  HEX View  2 926

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

SQL - сортировка вычисляемого поля



У молодого хакера спрашивают:
- Максим, ну что тебе нравится, кроме женщин и компьютеров?
- Как что? Девушки и калькуляторы.

Иногда схема данных требует, чтобы набор данных имел вычисляемый результат. В приложениях Delphi в случае использования SQL это возможно, но эта технология немного разнится в зависимости от используемого типа данных.

Для локального SQL, включая таблицы Paradox и dBASE, вычисляемому полю дают имя с использованием ключевого слова AS. При этом допускается ссылаться на такое поле для задания порядка сортировки с помощью ключевой фразы ORDER BY в SQL-запросе. Например, используя демонстрационную таблицу ITEMS.DB:

  SELECT I."PARTNO", I."QTY", (I."QTY" * 100) AS TOTAL
  FROM "ITEMS.DB" I
  ORDER BY TOTAL
В данном примере вычисляемому полю было присвоено имя TOTAL (временно, только для ссылки), после чего оно стало доступным в SQL-запросе для выражения ORDER BY.

Вышеуказанный метод не поддерживается в InterBase. Тем не менее, сортировать вычисляемые поля в таблицах InterBase (IB) или сервере Local InterBase Server все же возможно. Вместо использования имени вычисляемого поля, в выражении ORDER BY используется порядковое число, представляющее собой позицию вычисляемого поля в списке полей таблицы. Например, используя демонстрационную таблицу EMPLOYEE (расположенную в базе данных EMPLOYEE.GDB):

  SELECT EMP_NO, SALARY, (SALARY / 12) AS MONTHLY
  FROM EMPLOYEE
  ORDER BY 3 DESCENDING
В то время, как таблицы IB и LIBS используют второй метод, и не могут воспользоваться первым, оба метода доступны при работе с локальным SQL. К примеру, используя SQL-запрос для таблицы Paradox, и приспосабливая его для работы с относительной позицией вычисляемого поля, а не его именем:
  SELECT I."PARTNO", I."QTY", (I."QTY" * 100) AS TOTAL
  FROM "ITEMS.DB" I
  ORDER BY 3




Похожие по теме исходники

Конструктор тестов SQL

SQL Zapros

Сортировка методом Хоара

Сортировка списка

 

Линейная интерполяция функции

Интерполяция сплайнами




Copyright © 2004-2026 "Delphi Sources" by «SiteAnalyzer». Delphi World FAQ

Группа ВКонтакте