Я хочу сделать запрос, чтобы перечислить кошек, которые продавались дольше, чем обычные кошки?
У меня есть пять таблиц:
Животное, Продажа, AnimalOrderItem, AnimalOrder и SaleAnimal
Таблица животных: AnimalID, Имя, Категория
(кошка, собака, рыба)
SaleAnimal table: SaleID, AnimalID,
SalePrice
Таблица продаж: SaleID, дата, employeeID,
CustomerID
Таблица AnimalOrderItem: OrderID,
AnimalID, стоимость
AnimalOrder: OrderID, OrderDate,
Дата получения,
Идентификатор поставщика, стоимость доставки, идентификатор сотрудника
Есть и другие таблицы, которые, как я думаю, не влияют на запрос.
Я подумал о следующем ... сделать запрос, чтобы рассчитать количество дней, чтобы продать для всех, напр .: * 10101 *
[SaleDate]-[ReceiveDate] AS DaysToSell
Have the INNER JOIN built:
Sale INNER JOIN ((AnimalOrder INNER JOIN (Animal INNER JOIN AnimalOrderItem
ON Animal.AnimalID = AnimalOrderItem.AnimalID) ON AnimalOrder.
OrderID = AnimalOrderItem.OrderID) INNER JOIN SaleAnimal ON Animal.
AnimalID = SaleAnimal.AnimalID) ON Sale.SaleID = SaleAnimal.SaleID
Создать другой запрос на основе вышеуказанного запроса
SELECT AnimalID, Name, Category, DaysToSell
WHERE Category="Cat" AND DaysToSell>
(SELECT Avg(DaysToSell)
FROM the earlier query
WHERE Category="Cat"
ORDER BY DaysToSell DESC;
После выполнения запроса я получил сообщение:
ORA-00921: неожиданный конец SQL
Команда
Любые предложения! пожалуйста