Запрос Q023. Задача такова. Вычислить на какую общую сумму было оприходовано товаров категории "Хлебобулочные изделия".
Для решения этой задачи нужно оперировать тремя таблицами: m_income, m_product и m_category, потому что: - количество и цена оприходованных товаров хранятся в таблице m_income; - код категории каждого товара хранится в таблице m_product; - название категории title хранится в таблице m_category.
Для решения данной задачи воспользуемся следующим алгоритмом: - определение кода категории "Хлебобулочные изделия" из таблицы m_category посредством подзапроса; - соединение таблиц m_income и m_product для определения категории каждого оприходованного товара;
- вычисление суммы прихода( = количество*цена) для товаров, код
категории которых равен коду, определенному вышеуказанным подзапросом.
Итак:
SELECT Sum(amount*price) AS income_sum FROM m_product AS a INNER JOIN m_income AS b ON a.id=b.product_id WHERE ctgry_id = (SELECT id FROM m_category WHERE title='Хлебобулочные изделия');
Пример для MySQL
Запрос Q023. Задача такова. Вычислить на какую общую сумму было оприходовано товаров категории "Хлебобулочные изделия".
Для решения этой задачи нужно оперировать тремя таблицами: m_income, m_product и m_category, потому что: - количество и цена оприходованных товаров хранятся в таблице m_income; - код категории каждого товара хранится в таблице m_product; - название категории title хранится в таблице m_category.
Для решения данной задачи воспользуемся следующим алгоритмом: - определение кода категории "Хлебобулочные изделия" из таблицы m_category посредством подзапроса; - соединение таблиц m_income и m_product для определения категории каждого оприходованного товара;
- вычисление суммы прихода( = количество*цена) для товаров, код
категории которых равен коду, определенному вышеуказанным подзапросом.
Итак:
SELECT Sum(amount*price) AS income_sum FROM m_product AS a INNER JOIN m_income AS b ON a.id=b.product_id WHERE ctgry_id = (SELECT id FROM m_category WHERE title='Хлебобулочные изделия');
Пример для MS SQL Server
Запрос Q023. Задача такова. Вычислить на какую общую сумму было оприходовано товаров категории "Хлебобулочные изделия".
Для решения этой задачи нужно оперировать тремя таблицами: m_income, m_product и m_category, потому что: - количество и цена оприходованных товаров хранятся в таблице m_income; - код категории каждого товара хранится в таблице m_product; - название категории title хранится в таблице m_category.
Для решения данной задачи воспользуемся следующим алгоритмом: - определение кода категории "Хлебобулочные изделия" из таблицы m_category посредством подзапроса; - соединение таблиц m_income и m_product для определения категории каждого оприходованного товара;
- вычисление суммы прихода( = количество*цена) для товаров, код
категории которых равен коду, определенному вышеуказанным подзапросом.
Итак:
SELECT Sum(amount*price) AS income_sum FROM m_product AS a INNER JOIN m_income AS b ON a.id=b.product_id WHERE ctgry_id = (SELECT id FROM m_category WHERE title='Хлебобулочные изделия');