Страница 1 из 1

Если имя поля INDEX?

Добавлено: 22 июн 2004, 22:39
GOS
Здравствуйте!

Такая вот проблемма: (
Есть табличка в ней поле с именем INDEX и это имя совпадает с зарезервированными словами :( Как выполнить SQL запрос к этой таблице с условием по этому полю?

Имя поля менять нежелательно т.к. таблица входит в состав классификатора адресов т.е. поставляется сторонним разработчиком.

Уточнения:
Используется Delphi + TQuery
Таблички сконвертированны в Paradox
Интересно не только конкретное решение, но вообще принцип обращения с такими таблицами.

С уважением, Олег!

Добавлено: 22 июн 2004, 23:07
Bas
а нельзя создать VIEW по этой таблице и указать свои имена колонок?
типа CREATE VIEW myView (colName1,....,indexName,...,colNameN) as SELECT * from BadTable

Добавлено: 22 июн 2004, 23:50
AiK
Bas, на сколько я понмю, вьюх в Paradox'е не бывает.

GOS, рекомендуется почитать о синтаксисе запросов в Paradox.
Есть несколько вариантов, один из которых должен сработать:
1) имя колонки указывается в квадратных скобках [INDEX] - вроде как это не из ANSI 92, возможно прокатят кавычки.
2) колонку можно именовать в нотации имя_таблицы.имя_колонки, или псевдоним_таблицы.имя_колонки, при этом колонка может иметь произвольное имя.

Добавлено: 28 июн 2004, 20:39
GOS
Спасибо за ответы!

Если кому интересно, вот конечное решение:
SELECT * FROM PostIndx WHERE PostIndx."INDEX"='115563'

Добавлено: 28 июн 2004, 21:00
AiK
Есть несколько вариантов, один из которых должен сработать
сработала комбинация :)