Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.08.2015
Сообщений: 42
1

Построение вложенного запроса

20.12.2015, 16:12. Просмотров 806. Ответов 3
Метки нет (Все метки)

Добрый день. Мне нужно построить запрос с использованием вставляемого значения, который в поле ГОД ВЫПУСКА вставит значение, имеющееся в этом поле у владельца по фамилии ЛУЗАН (базу прикрепляю).
Я попытался сделать это, не используя связи между таблицами Список и Автомобиль, указав паспорт Лузана
SQL
1
2
3
4
INSERT INTO Автомобиль (МАРКА, ЦВЕТ, НОМ_ЗНАК, ТЕХПАСПОРТ, ПАСПОРТ, ГОД_ВЫПУСКА)
VALUES   ('ВАЗ 2101', 2, 'М2342ХТ', 'А8788765', '2МА111111',  (SELECT [ГОД ВЫПУСКА] 
                                                               FROM Автомобиль 
                                                               WHERE ПАСПОРТ='5МА 621151'));
но не получилось. Помогите, пожалуйста, разобраться.
0
Вложения
Тип файла: 7z avto.7z (2.91 Мб, 3 просмотров)
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2015, 16:12
Ответы с готовыми решениями:

Обращение к полю из вложенного запроса
Есть запрос, который выводит информацию об объекте, который связан с максимальным числом объектов...

Составление вложенного SQL запроса
С использованием вложенных запросов в операторе HAVING, найти количество читателей ...

Построение запроса
Здравствуйте, у меня в отчёте и в запросе, на основе которого построен отчёт, не выводит "№...

Построение запроса
Имеется 2 таблицы: clientis(главная), communication(зависимая). Нужно выбрать всех клиентов,у...

3
шапоклякистка 8-го дня
3646 / 2207 / 390
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
20.12.2015, 16:28 2
Лучший ответ Сообщение было отмечено экспонат как решение

Решение

Не нужен тут никакой вложенный запрос.

SQL
1
2
3
4
INSERT INTO Автомобиль  (МАРКА, ЦВЕТ, НОМ_ЗНАК, ТЕХПАСПОРТ, ПАСПОРТ, [ГОД ВЫПУСКА])
SELECT 'ВАЗ 2101' AS Выражение1, 2 AS Выражение2, 'М2342ХТ' AS Выражение3, 'А8788765' AS Выражение4, '2МА111111' AS Выражение5, Автомобиль.[ГОД ВЫПУСКА]
FROM Автомобиль
WHERE [ПАСПОРТ]='5МА 621151';
1
0 / 0 / 0
Регистрация: 03.08.2015
Сообщений: 42
20.12.2015, 16:33  [ТС] 3
Цитата Сообщение от texnik-san Посмотреть сообщение
Не нужен тут никакой вложенный запрос.
Да, действительно. Не знал, что можно делать так. Спасибо.
Основной вопрос решил соответственно
SQL
1
2
3
4
INSERT INTO Автомобиль  (МАРКА, ЦВЕТ, НОМ_ЗНАК, ТЕХПАСПОРТ, ПАСПОРТ, [ГОД ВЫПУСКА])
SELECT 'ВАЗ 2101' AS Выражение1, 2 AS Выражение2, 'М2342ХТ' AS Выражение3, 'А8788765' AS Выражение4, '2МА111111' AS Выражение5, Автомобиль.[ГОД ВЫПУСКА]
FROM Автомобиль, Список
WHERE Автомобиль.[ПАСПОРТ]=Список.[ПАСПОРТ] AND Список.ФАМИЛИЯ = 'ЛУЗАН';
0
шапоклякистка 8-го дня
3646 / 2207 / 390
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
20.12.2015, 16:42 4
Цитата Сообщение от экспонат Посмотреть сообщение
FROM Автомобиль, Список
WHERE Автомобиль.[ПАСПОРТ]=Список.[ПАСПОРТ] AND Список.ФАМИЛИЯ = 'ЛУЗАН'
Ой нет, в Аксес так не нужно. Можно, но не надо. Для аксеса объедиение таблиц и перечисление через запятую плюс условие - не одно и тоже, и именно вариат с перечислением через запятую сработает медленнее всех. Лучше так:

SQL
1
2
FROM Автомобиль INNER JOIN Список ON Автомобиль.[ПАСПОРТ]=Список.[ПАСПОРТ]  
WHERE Список.ФАМИЛИЯ = 'ЛУЗАН'
или даже так (хотя конструктор запросов такое переваривает с трудом или не переваривает вовсе, и при открытии запроса в режиме конструктора может текст запроса запортить):

SQL
1
2
FROM Автомобиль INNER JOIN Список 
ON (Автомобиль.[ПАСПОРТ]=Список.[ПАСПОРТ] AND Список.ФАМИЛИЯ = 'ЛУЗАН')
Добавлено через 2 минуты
Кстати, не пыталась замерять, но по субъективым ощущениям третий вариант быстрее второго.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2015, 16:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создание вложенного запроса
Просьба помочь создать запрос для следующей задачи. В БД есть строки со следующими полями: id |...

Использование вложенного запроса
В толстом клиенте есть запрос, который выводит список. На форму добавлен флажок. Если значение -...

Реализация вложенного запроса
Помогите с задачей. Есть 3 таблицы. Склады(storage) , арендаторы(tenantry) ,...

Подстановка результата вложенного запроса в INSERT INTO
Всем доброго времени суток. У меня имеется таблица catalog, в ней есть 2 столбца: id_title и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.