Выберите диапазон значений в 2 таблицах - PullRequest
0 голосов
/ 08 мая 2019

у меня 2 таблицы

-- Purchases --
Id | IdProvider | Date | Observations

и

-- PurchasesDetails --
Id | IdProduct | Quantity | Price

, где Покупки. Идентификатор = Покупки. Детали. Ид.

Я хочу сделать SQL-запрос, в котором он возвращает все покупки в диапазоне цен (информация о ценах указана в таблице BuyasesDetails -> Количество * Цена)

Например: получить все покупки, которые стоили больше 0 $, но меньше 500 $

Я пробовал это:

ВЫБРАТЬ * ИЗ ПОКУПКИ ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПОКУПКИ Подробнее о покупках

Но это не работает. Похоже, что я пропустил условие, чтобы связать все ПокупкиDetails с тем же Id

Я думаю, что это действительно легкая задача, но я застрял там на несколько часов, поэтому вся помощь приветствуется !!

1 Ответ

2 голосов
/ 08 мая 2019

Это то, что вы хотите?

SELECT p.*,
       SUM(pd.Price * pd.Quantity) as purchase_total
FROM Purchases p INNER JOIN
     PurchasesDetails pd
     ON p.Id = pd.Id 
GROUP BY p.Id 
HAVING purchase_total BETWEEN 0 AND 500;

Обратите внимание, что SELECT p.* подходит для GROUP BY p.id, предполагая, что id уникально в Purchases.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...