![]() |
|
Модераторы: skyboy |
![]()
|
|
| umnick |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 4.5.2008 Где: Кривой Рог Репутация: нет Всего: 0 |
помогите найти ошибку
СУБД MS Access 2003 Ошибка синтаксиса в выражении запроса 'kod_of_station]. AS C WHERE (((C.D) Not In (SELECT kod_of_station FROM coordinates WHERE kod_of_station=4)))]' Это сообщение отредактировал(а) umnick - 8.3.2010, 10:11 |
|||
|
||||
| Gluttton |
|
||||||||||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Потенциальным отвечающим облегчило бы жизнь (а так же увеличило шансы вопрошающего получить вменяемый ответ): 1. Указание СУБД; 2. Указание вида ошибки (логическая, синтаксическая, прочее); 3. Ну о тексте ошибки (если таковое имеется) или же описании сути возникшей проблемы я вообще молчу Ну... На общий вопрос, могу дать общий ответ. 1. Настораживают квадратные скобки (никогда не приходилось сталкиваться). 2. Настораживают точки после закрывающей квадратной скобки в подзапросе перед ключевым словом AS. 3. Настораживает применение группировки при отсутствии агрегирующих функций:
4. Сомневаюсь в целесообразности примененного количества скобок:
Да и вообще - достаточно всё это можно преобразовать к виду:
5. Код п. 3 пытается вывести во внутреннем подзапросе данные о name_of_route из таблицы routes отобранные по критерию d_of_station=4. Полученные данные (подмножество таблицы routes) декартово перемножается с исходной таблицей во внешнем подзапросе и в нем выбираються данные kod_of_station
6. Кроме того в условии следующего "вверх" по иерархии подзапроса проверяется отсутствие полученных данных в некоторой таблице coordinates по тому же критерии, что и в п. 3. 7. Сомнительна необходимость в самом внешнем запросе:
8. Т.о. отбросив всё, на мой взгляд, лишнее получим примерно такой запрос:
Который должен выполняться на сервере без ошибок и всегда возвращать пустое множество... Это сообщение отредактировал(а) Gluttton - 8.3.2010, 03:16 -------------------- Слава Україні! |
||||||||||||
|
|||||||||||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Если не секрет, то какая? -------------------- Слава Україні! |
|||
|
||||
| umnick |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 4.5.2008 Где: Кривой Рог Репутация: нет Всего: 0 |
Спасибо за помощь: заменил квадратные скобки на круглые и убрал точки перед as. Помогло.
|
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Всегда пожалуйста...
Хм... И что этот запрос возвращает, какие то данные? Странно, я был убежден, что он всегда будт возвращать "ничего"... -------------------- Слава Україні! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 2 Всего: 42 |
В MSSQL так выделяются поля, например с пробелами в имени [field with space] -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |