Модераторы: Akina
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> SQL запрос, Не работает. 
:(
    Опции темы
simanyay
Дата 3.1.2003, 03:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Антон Ковалёв
****


Профиль
Группа: Участник
Сообщений: 2053
Регистрация: 22.8.2002

Репутация: нет
Всего: 36



Привет. Я тут делаю небольшую базу в MS Access и столкнулся с вот такой проблемой - я написал мелкий запрос:

SELECT name
FROM t_tests
WHERE teacher IN
                     (
                        SELECT name
                        FROM t_users
                        WHERE login = "anton" // Логин Антон лишь образно. Он будет
                     );                               // определятся пользователем

Так вот, выходит ошибка, типа несоответствия типов. В Oracle (8i) всё проходит, а вот в Access :( Я в базах пока новичок и вот прошу совета более опытных товарищей.
P.S. Пробовал ставить вместо IN = тоже самое получается :(
P.S.P.S. Когда тоже стану "опытным товарищем" обещаю помогать новичкам :)


--------------------
«It's better to be a pirate than to join the Navy» — Steve Jobs.
PM MAIL WWW   Вверх
simanyay
Дата 3.1.2003, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Антон Ковалёв
****


Профиль
Группа: Участник
Сообщений: 2053
Регистрация: 22.8.2002

Репутация: нет
Всего: 36



Упс... я перепутал комментарии из С. Кстати, а есть в SQL коментарии?


--------------------
«It's better to be a pirate than to join the Navy» — Steve Jobs.
PM MAIL WWW   Вверх
Vit
Дата 3.1.2003, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Вроде формально всё правильно. 2 замечания:

1) Двойные кавычки иногда надо заменять одинарными
2) Коментарии в SQL обычно:

-- Это строковый комментарий

/*
Это блок коментариев
*/

Но это зависит от диалекта SQL - иногда могут быть и другие форматы или эти не поддерживаться.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
AntonSaburov
Дата 4.1.2003, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Надо посмотреть, что за типы
TEACHER в таблице t_test
NAME в таблице t_users

Насколько они совместимы ?

Хотя может быть все из-за убогости самого MS Access - он очень упрощенный - а на убогих как известно ... :)

Но по идее все правильно написано.
PM MAIL WWW ICQ   Вверх
simanyay
Дата 5.1.2003, 05:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Антон Ковалёв
****


Профиль
Группа: Участник
Сообщений: 2053
Регистрация: 22.8.2002

Репутация: нет
Всего: 36



И всё таки это была убогость Access. Потом я создал этот же запрос визуально, т.е. с помощью мастера (до этого я всё писал вручную - недолюбливаю чрезмерную визуальность) и всё прокатило, хотя запрос был на 100% одинаковый. Вот так. Ну всё равно спасибо, что помогли.


--------------------
«It's better to be a pirate than to join the Navy» — Steve Jobs.
PM MAIL WWW   Вверх
U-gene
Дата 5.1.2003, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 13.8.2002

Репутация: нет
Всего: нет



Что-то с трудом вериться :). За мои 8 лет возни с Акцессом он показал себя очень неплохо. Да! в начале, я тоже часто находил "глюки", но потом оказывалось, что это глюки в моем знании предмета.

Почему мне кажется, что беда не в Акцессе? Да потому, что результатом работы визуального конструктора является SQL-выражение, которое потом выплняется ядром MS Jet. Из визуального конструктора запросов (и из ручного тоже)в ядро передается ТОЛЬКО SQL-выражение, и ничто другое. Поэтому, когда Вы говорите, что запрос, сделанный в визуальном конструкторе, "точно такой-же" как и запрос введенный вручную, но первый работает, а второй - нет, то я сильно сомеваюсь - значит он точно не "точно такой же" и содержит ошибки.

:) Хотя чего не бывает? Может я ошибаюсь и это дествительно глюк.
PM MAIL   Вверх
Medved
Дата 6.1.2003, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154



AntonSaburov правильон сказал, если возникает ошибка несоответствия типов, то смотри:

что за типы
TEACHER в таблице t_test
NAME в таблице t_users

Насколько они совместимы ?


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Oleg
Дата 11.1.2003, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 16.9.2002

Репутация: нет
Всего: нет



А может быть при использовании визуальных средств Аксес включает автоконвертеры типов котроые устанавливают равновесие. Но ты на всякий случай сравни SQL, полученный и бывший. Даже точечки и запятые. За это я Access и ненавижу.
--------------------
...Знающий не доказывает.   Доказывающий не знает...
PM MAIL   Вверх
Гость_konstantin
Дата 13.11.2005, 15:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











SELECT name
FROM t_tests
WHERE teacher IN
(
SELECT name
FROM t_users
WHERE login = "anton" // Логин Антон лишь образно. Он будет
); // определятся пользователем



Не правильно написан модуль - в предложении WHERE внешнего запроса имя столбца должно быть одинаковым с именем столбца после SELECT внутреннего запроса. Вместо teacher - name.Такой модуль как сейчас не будет работать нигде.Нет связи между запросами и Access ругается - "несоответствие типов полей".
  Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.