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

•  DeLiKaTeS Tetris (Тетрис)  3 990

•  TDictionary Custom Sort  6 099

•  Fast Watermark Sources  5 898

•  3D Designer  8 726

•  Sik Screen Capture  6 220

•  Patch Maker  6 651

•  Айболит (remote control)  6 643

•  ListBox Drag & Drop  5 501

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

•  Графические эффекты  6 859

•  Рисование по маске  6 056

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

•  Canvas Drawing  5 403

•  Рисование Луны  5 124

•  Поворот изображения  4 668

•  Рисование стержней  3 285

•  Paint on Shape  2 530

•  Генератор кроссвордов  3 419

•  Головоломка Paletto  2 735

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

•  Пазл Numbrix  2 316

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

•  Игра HIP  1 959

•  Игра Go (Го)  1 879

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

•  Программа укладки плитки  1 945

•  Генератор лабиринта  2 380

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

•  HEX View  2 392

•  Физический маятник  2 023

 
скрыть

  Форум  

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-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

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