ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 463
Скачиваний: 17
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
2.2.1. Поставщики:
Рисунок 13 – Все поставщики
Рисунок 22 – Все поставки
3) список всех проектов, список проектов с бюджетом не ниже/не выше среднего, список проектов с максимальным/минимальным бюджетом – с указанием общей суммы поставок по данному проекту (непременное условие для всех списков).4) сумма всех поставок, сумма поставок дорогих деталей, сумма поставок дешевых деталей, сумма поставок от надежных поставщиков, сумма поставок от ненадежных поставщиков, сумма поставок от заданного поставщика.Запросы директора:1. Список всех поставщиков, список поставщиков с рейтингом не ниже/не выше среднего, список поставщиков с максимальным/минимальным рейтингом – с указанием у каждого поставщика общей суммы, сделанной им поставок (непременное условие для всех списков):
-
CREATE VIEW "DirectorContractor" AS -
SELECT Name, "City", "Reliability" FROM "Contractor" -
ORDER BY "Reliability", "City", Name; -
-
SELECT * FROM "DirectorContractor"; -
-
CREATE VIEW "DirectorDetail" AS -
SELECT Name, ROUND("Price"/1000.0, 3) AS "Price, K RUB", "Color", "High cost" -
FROM "Detail" -
ORDER BY "Price, K RUB" DESC, Name; -
-
SELECT * FROM "DirectorDetail"; -
-
CREATE VIEW "DirectorProject" AS -
SELECT Name, "City", "Budget" FROM "Project" -
ORDER BY "Budget" DESC, "City", Name; -
-
SELECT * FROM "DirectorProject";
-
CREATE VIEW "DirectorDelivery" AS -
SELECT -
"Detail".Name AS "Name Detail", -
"Detail"."Color" AS "Color Detail", -
"Detail"."High cost" AS "High cost", -
"Contractor".Name AS "Name Contractor", -
"Contractor"."City" AS "City Contractor", -
"Contractor"."Reliability" AS "Reliability", -
"Delivery"."Amount" AS "Amount", -
ROUND("Delivery"."Amount" * "Weight"/1000.0, 3) AS "Weight, Kg", -
ROUND("Delivery"."Amount" * "Price"/1000.0, 3) AS "Price, K RUB" -
FROM "Detail", "Contractor", "Delivery" -
WHERE "Detail_ID" = "Detail".id AND "Contractor_ID" = "Contractor".id -
ORDER BY "High cost", "Reliability", "City Contractor", "Name Detail", -
"Name Contractor", "Price, K RUB" DESC, "Weight, Kg" DESC; -
-
SELECT * FROM "DirectorDelivery";
-
SELECT * FROM "Contractor";
Рисунок 13 – Все поставщики
-
SELECT * FROM "Contractor" -
WHERE "Reliability" = 'Надёжный';
-
SELECT * FROM "Contractor" -
WHERE "Reliability" = 'Ненадёжный';
-
SELECT * FROM "Detail";
-
SELECT * FROM "Detail" -
WHERE "High cost" = 'Дорогая';
-
SELECT * FROM "Detail" -
WHERE "High cost" = 'Дешёвая';
-
SELECT * FROM "Project";
-
SELECT * FROM "Project" -
WHERE "City" = 'Chelyabinsk';
-
SELECT * FROM "Project" -
WHERE "Budget" > 10000 AND "Budget" <= 100000;
-
SELECT * FROM "Delivery";
Рисунок 22 – Все поставки
-
SELECT * FROM "Delivery" -
INNER JOIN "Detail" -
ON "Delivery"."Detail_ID" = "Detail".id AND "High cost" = 'Дешёвая';
-
SELECT * FROM "Delivery" -
INNER JOIN "Detail" -
ON "Delivery"."Detail_ID" = "Detail".id AND "High cost" = 'Дорогая';
-
SELECT * FROM "Delivery" -
INNER JOIN "Contractor" -
ON "Delivery"."Contractor_ID" = "Contractor".id AND "Reliability" = 'Надёжный';
-
SELECT * FROM "Delivery" -
INNER JOIN "Contractor" -
ON "Delivery"."Contractor_ID" = "Contractor".id AND "Reliability" = 'Ненадёжный';
-
CREATE VIEW "EconomistDeliveryBudget" AS -
SELECT -
"Delivery"."id" AS "id", -
"Delivery"."Detail_ID" AS "Detail_ID", -
"Delivery"."Contractor_ID" AS "Contractor_ID", -
"Delivery"."Project_ID" AS "Project_ID", -
"Delivery"."Amount" AS "Amount", -
"Detail"."id" AS "ids", -
"Detail"."name" AS "name", -
"Detail"."Price" AS "Price", -
"Detail"."Weight" AS "Weight", -
"Detail"."Color" AS "Color", -
"Detail"."High cost" AS "High cost", -
("Amount" * "Detail"."Price") AS "All Price" -
FROM "Delivery" -
INNER JOIN "Detail" ON "Delivery"."Detail_ID" = "Detail".id; -
SELECT * FROM "EconomistDeliveryBudget"
-
SELECT * FROM "EconomistDeliveryBudget" -
WHERE "All Price" > 5000 AND "All Price" < 50000;
3) список всех проектов, список проектов с бюджетом не ниже/не выше среднего, список проектов с максимальным/минимальным бюджетом – с указанием общей суммы поставок по данному проекту (непременное условие для всех списков).4) сумма всех поставок, сумма поставок дорогих деталей, сумма поставок дешевых деталей, сумма поставок от надежных поставщиков, сумма поставок от ненадежных поставщиков, сумма поставок от заданного поставщика.Запросы директора:1. Список всех поставщиков, список поставщиков с рейтингом не ниже/не выше среднего, список поставщиков с максимальным/минимальным рейтингом – с указанием у каждого поставщика общей суммы, сделанной им поставок (непременное условие для всех списков):
-
SELECT "Contractor".id, "Contractor".Name, "Contractor"."City", "Contractor"."Address", -
"Contractor"."Rating", "Contractor"."Reliability", SUM("Detail"."Price" * "Delivery"."Amount") AS "All Price" -
FROM "Contractor", "Delivery", "Detail" -
WHERE "Contractor".id = "Delivery"."Contractor_ID" -
AND "Detail".id = "Delivery"."Detail_ID" -
GROUP BY "Contractor".id -
ORDER BY "Contractor".Name;
-
SELECT "Contractor".id, "Contractor".Name, "Contractor"."City", "Contractor"."Address", -
"Contractor"."Rating", "Contractor"."Reliability", SUM("Detail"."Price" * "Delivery"."Amount") AS "All Price" -
FROM "Contractor", "Delivery", "Detail" -
WHERE "Contractor".id = "Delivery"."Contractor_ID" -
AND "Detail".id = "Delivery"."Detail_ID" AND "Contractor"."Rating" >= 10/2 -
GROUP BY "Contractor".id -
ORDER BY "Contractor".name;
-
SELECT "Contractor".id, "Contractor".Name, "Contractor"."City", "Contractor"."Address", -
"Contractor"."Rating", "Contractor"."Reliability", SUM("Detail"."Price" * "Delivery"."Amount") AS "All Price" -
FROM "Contractor", "Delivery", "Detail" -
WHERE "Contractor".id = "Delivery"."Contractor_ID" -
AND "Detail".id = "Delivery"."Detail_ID" AND "Contractor"."Rating" <= 10/2 -
GROUP BY "Contractor".id -
ORDER BY "Contractor".name;
-
SELECT "Contractor".id, "Contractor".Name, "Contractor"."City", "Contractor"."Address", -
"Contractor"."Rating", "Contractor"."Reliability", SUM("Detail"."Price" * "Delivery"."Amount") AS "All Price" -
FROM "Contractor", "Delivery", "Detail" -
WHERE "Contractor".id = "Delivery"."Contractor_ID" -
AND "Detail".id = "Delivery"."Detail_ID" -
AND "Rating" = (SELECT MAX("Rating") FROM "Contractor", "Delivery", "Detail" -
WHERE "Contractor".id = "Delivery"."Contractor_ID" -
AND "Detail".id = "Delivery"."Detail_ID") -
GROUP BY "Contractor".id -
ORDER BY "Contractor".Name;
-
SELECT "Contractor".id, "Contractor".Name, "Contractor"."City", "Contractor"."Address", -
"Contractor"."Rating", "Contractor"."Reliability", SUM("Detail"."Price" * "Delivery"."Amount") AS "All Price" -
FROM "Contractor", "Delivery", "Detail" -
WHERE "Contractor".id = "Delivery"."Contractor_ID" -
AND "Detail".id = "Delivery"."Detail_ID" -
AND "Rating" = (SELECT MIN("Rating") FROM "Contractor", "Delivery", "Detail" -
WHERE "Contractor".id = "Delivery"."Contractor_ID" -
AND "Detail".id = "Delivery"."Detail_ID") -
GROUP BY "Contractor".id -
ORDER BY "Contractor".Name;
-
SELECT "Detail".id, "Detail".Name, "Detail"."Price", "Detail"."Weight", -
"Detail"."Color", "Detail"."High cost", SUM("Amount" * "Price") AS "All Price" FROM "Detail", "Delivery" -
WHERE "Detail".id = "Delivery"."Detail_ID" -
GROUP BY "Detail".id -
ORDER BY "All Price" DESC;
-
SELECT "Detail".id, "Detail".Name, "Detail"."Price", "Detail"."Weight", -
"Detail"."Color", "Detail"."High cost", SUM("Amount" * "Price") AS "All Price" FROM "Detail", "Delivery" -
WHERE "Detail".id = "Delivery"."Detail_ID" AND -
"Price" <= (SELECT MAX("Price") FROM "Detail")/2 -
GROUP BY "Detail".id -
ORDER BY "All Price" DESC;
-
SELECT "Detail".id, "Detail".Name, "Detail"."Price", "Detail"."Weight", -
"Detail"."Color", "Detail"."High cost", SUM("Amount" * "Price") AS "All Price" FROM "Detail", "Delivery" -
WHERE "Detail".id = "Delivery"."Detail_ID" AND -
"Price" >= (SELECT MAX("Price") FROM "Detail")/2 -
GROUP BY "Detail".id -
ORDER BY "All Price" DESC;