Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.220.140.5] |
|
Данный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Добрый день, поправьте пожалуйста запрос. База данных Access
Нужно вставить в поле зачислен таблицы студент, значение из таблицы параграф последнего документа. UPDATE Студент SET Зачислен= (SELECT Параграф.Параграф FROM Документы INNER JOIN Параграф ON Документы.Код = Параграф.Параграф WHERE Документы.Код IN (SELECT MAX(Код) FROM Документы)) WHERE Студент.Код=[Введите код студента] Синтаксис взял из примера отсюда http://www.ibase.ru/devinfo/updsame.htm |
Сообщ.
#2
,
|
|
|
В чем проблема? Внутренний селект вернет одно значение или есть варианты множественного?
|
Сообщ.
#3
,
|
|
|
SET Зачислен= (SELECT TOP 1 Параграф.Параграф
Это во-первых (исключает мультизначение). Во-вторых, следует вообще уйти от коррелированного подзапроса, и использовать мультитабличный запрос на обновление. Ну и в третьих - глупо для запроса в MS Access искать примеры в Interbase или Firebird. Не тот диалект. И вообще - учитесь использовать построитель запросов. Он прост, как тапок, и к тому же не ошибается в синтаксисе. |
Сообщ.
#4
,
|
|
|
ИМХО, запрос взят с потолка и править его нет самысла:
- подзапрос возврашает данные, не связанные со студентом. - 'Зачислен', скорее всего битовое поле, а запрос, похоже, попробует туда вставить int или varchar. |