Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 60
1

Нужен совет: таблицы Заказ автомобилей удалить записи, в которых заказ не оплачен

14.10.2016, 20:38. Показов 1200. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, нужно небольшой совет в двух запросах:
Один:
Для вычисления расчетных полей отчетов Стоимость и Цена воспользоваться следующим правилом: если количество заказанных автомобилей в заказе превышает 2, то цена будет равняться оптовой цене, в противном случае - розничной цене;
Подскажите как его можно реализовать потому что даже представить не могу как его сделать.

А второй: Из таблицы Заказ автомобилей удалить записи, в которых заказ не оплачен. До удаления данных сохранить в отдельной таблице записи, подлежащих удалению.

Я реализовал его тремя запросами как можно сделать это все в одном?

Вот как сделал я:
1.Сначала перенес все неоплаченые заказы в новую таблицу:
SQL
1
2
3
SELECT [Замовлення автомобіля].[Код замовлення], [Замовлення автомобіля].[Код фірми], [Замовлення автомобіля].Дата, [Замовлення автомобіля].[Сплата замовлення] INTO [Копія Замовлення автомобілів]
FROM [Замовлення автомобіля]
WHERE ((([Замовлення автомобіля].[Сплата замовлення])=FALSE));
2.Потом удалил все связанные поля с полями которые мне надо удалить:
SQL
1
2
3
DELETE [Вміст замовлень].*, [Замовлення автомобіля].[Сплата замовлення]
FROM [Замовлення автомобіля] INNER JOIN [Вміст замовлень] ON [Замовлення автомобіля].[Код замовлення]=[Вміст замовлень].[Код замовлення]
WHERE ((([Замовлення автомобіля].[Сплата замовлення])=FALSE));
3.И в третем запросе уже удалил неоплаченые поля с таблицы:
SQL
1
2
3
DELETE [Замовлення автомобіля].*, [Замовлення автомобіля].[Сплата замовлення]
FROM [Замовлення автомобіля]
WHERE ((([Замовлення автомобіля].[Сплата замовлення])=FALSE));
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2016, 20:38
Ответы с готовыми решениями:

Не могу вывести заказ товара, который не оплачен до 16.04.99
Здравствуйте, помогите пожалуйста. У меня есть базовые таблицы и нужно вывести в запросе те,...

делаю диплом (сайт на заказ), нужен совет использовать cms или нет
всем привет, по нуждам заказчика было необходимо сделать простое редактирование содержимого сайта,...

{(14, 21)}: Неоднозначное поле "Заказ.Ссылка" ПО Оплата.Заказ = <<?>>Заказ.Ссылка
Здравствуйте! Я создал печатную форму документа Оплаты. Билеты должны формироваться в соответствии...

Удалить из таблицы Клиенты всех клиентов, не сделавших ни одного заказа за все время существования фирмы, или сделавших последний заказ более 10 лет
Удалить из таблицы Клиенты всех клиентов, не сделавших ни одного заказа за все время существования...

5
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 60
14.10.2016, 20:41  [ТС] 2
Вот сама база.
Вложения
Тип файла: zip 32.accdb.zip (130.9 Кб, 3 просмотров)
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
15.10.2016, 10:12 3
Цитата Сообщение от ddss11 Посмотреть сообщение
DELETE [Вміст замовлень].*, [Замовлення автомобіля].[Сплата замовлення]
Да что ж за поветрие такое, массово делать одну и ту же ошибку: перечислять поля в предложении DELETE и хотеть одним запросом удалять сразу из нескольких таблиц

Добавлено через 5 минут
Цитата Сообщение от ddss11 Посмотреть сообщение
Я реализовал его тремя запросами как можно сделать это все в одном?
Никак. Это так и делается, тремя запросами.

Добавлено через 5 минут
Цитата Сообщение от ddss11 Посмотреть сообщение
Для вычисления расчетных полей отчетов Стоимость и Цена воспользоваться следующим правилом: если количество заказанных автомобилей в заказе превышает 2, то цена будет равняться оптовой цене, в противном случае - розничной цене;
Подскажите как его можно реализовать потому что даже представить не могу как его сделать.
Visual Basic
1
2
3
4
SELECT [Замовлення автомобіля].[Код замовлення], [Види автомобіля].[Назва автомобіля], [Довідник фірми].[Назва фірми], [Довідник фірми].Телефон, [Вміст замовлень].Кількість, IIf([Вміст замовлень].[Кількість]>2,[Види автомобіля].[Оптова ціна, ціна],[Види автомобіля].[Роздрібна ціна, євро]) AS Ціна, [Ціна]*[Вміст замовлень].[Кількість] AS Вартість
FROM ([Довідник фірми] INNER JOIN [Замовлення автомобіля] ON [Довідник фірми].[Код фірми] = [Замовлення автомобіля].[Код фірми]) INNER JOIN ([Види автомобіля] INNER JOIN [Вміст замовлень] ON [Види автомобіля].[Код автомобіля] = [Вміст замовлень].[Код автомобіля]) ON [Замовлення автомобіля].[Код замовлення] = [Вміст замовлень].[Код замовлення]
WHERE ((([Довідник фірми].[Назва фірми]) Like "Л*"))
ORDER BY [Довідник фірми].[Назва фірми];
И никогда не ставьте между именем таблицы и именем поля восклицательный знак. Только точку.
0
369 / 88 / 8
Регистрация: 14.08.2012
Сообщений: 248
15.10.2016, 10:19 4
Цитата Сообщение от texnik-san Посмотреть сообщение
никогда не ставьте между именем таблицы и именем поля восклицательный знак. Только точку.
Для Jet sql какая разница между точкой и восклицательным знаком? ВБА их различает, это понятно. А в джете чем провинился восклицательный?
0
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 60
15.10.2016, 10:48  [ТС] 5
с первым запросом подскажете?
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
15.10.2016, 11:00 6
Цитата Сообщение от ddss11 Посмотреть сообщение
с первым запросом подскажете?
Я разве не подсказала?
Цитата Сообщение от texnik-san Посмотреть сообщение
SQL
1
2
3
4
SELECT [Замовлення автомобіля].[Код замовлення], [Види автомобіля].[Назва автомобіля], [Довідник фірми].[Назва фірми], [Довідник фірми].Телефон, [Вміст замовлень].Кількість, IIf([Вміст замовлень].[Кількість]>2,[Види автомобіля].[Оптова ціна, ціна],[Види автомобіля].[Роздрібна ціна, євро]) AS Ціна, [Ціна]*[Вміст замовлень].[Кількість] AS Вартість
FROM ([Довідник фірми] INNER JOIN [Замовлення автомобіля] ON [Довідник фірми].[Код фірми] = [Замовлення автомобіля].[Код фірми]) INNER JOIN ([Види автомобіля] INNER JOIN [Вміст замовлень] ON [Види автомобіля].[Код автомобіля] = [Вміст замовлень].[Код автомобіля]) ON [Замовлення автомобіля].[Код замовлення] = [Вміст замовлень].[Код замовлення]
WHERE ((([Довідник фірми].[Назва фірми]) LIKE "Л*"))
ORDER BY [Довідник фірми].[Назва фірми];
Добавлено через 2 минуты
Условие
SQL
1
WHERE ((([Довідник фірми].[Назва фірми]) LIKE "Л*"))
лишнее, я просто делала запрос на основе вашего, так и скопировала текст.
0
15.10.2016, 11:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2016, 11:00
Помогаю со студенческими работами здесь

Программы, таблицы на заказ.
Чё-то у меня не получается вникнуть в секреты и тайны экселя. Может быть мне с кем нибудь из вас,...

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

Нужен пример xml файла типа заказ в кафе
Заранее спасибо!!

Не заполняется табчасть "Заказ поставщику" на основании "Заказ клиента" в УТ11
Доброго времени суток господа программисты ! Проблема следующего характера настраиваю УТ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru