Напишите запрос с вычислениями в предложении WHERE

Условие:

Напишите запрос с вычислениями в предложении WHERE

Условие: Напишите запрос с вычислениями в предложении WHERE

Решение:

Предмет: Информатика

Раздел: Работа с базами данных (MS Access)

В предоставленной ошибке очевидно, что в SQL-запросе допущена синтаксическая ошибка. Рассмотрим ваш запрос:

SELECT Товары.[Наименование товара] AS [Товар], Товары.[Цена единицы], Склад.[Наименование товара] AS [Склад_Наименование товара], Склад.[Количество]
FROM Товары, Склад
WHERE [Товары].[Наименование товара] = [Склад].[Наименование товара] AND [Товары].[Цена единицы]*[Склад].[Количество] AS [Сумма];

Ошибка заключается в использовании ключевого слова AS в предложении WHERE. В SQL нельзя присваивать псевдонимы (через AS) в условиях фильтрации. Это действие нужно выполнять в блоке SELECT.

Исправленный запрос:

Для корректной работы нужно переместить вычисление суммы в блок SELECT, а не в WHERE. Исправленный запрос будет выглядеть так:

SELECT 
    Товары.[Наименование товара] AS [Товар], 
    Товары.[Цена единицы], 
    Склад.[Наименование товара] AS [Склад_Наименование товара], 
    Склад.[Количество],
    [Товары].[Цена единицы]*[Склад].[Количество] AS [Сумма]
FROM 
    Товары, Склад
WHERE 
    [Товары].[Наименование товара] = [Склад].[Наименование товара];

Объяснение исправлений:

  1. Перенос вычисления в SELECT: Выражение [Товары].[Цена единицы]*[Склад].[Количество] AS [Сумма] перемещено в блок SELECT, так как это вычисление используется для вывода данных, а не для фильтрации.

  2. Условия в WHERE: Условия в WHERE содержат только логические выражения, такие как сравнение [Товары].[Наименование товара] = [Склад].[Наименование товара].

Результат:

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

  • Название товара,
  • Цена за единицу,
  • Название товара на складе,
  • Количество товара на складе,
  • Общая сумма (цена за единицу * количество).
Не нашли нужного вам решения? Оставьте заявку и наши авторы быстро и качественно помогут вам с решением.
Оставить заявку
Работа вам нужна срочно. Не волнуйтесь, уложимся!

Заполните, пожалуйста, данные для автора:

  • 22423 авторов готовы помочь тебе.
  • 2402 онлайн