Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --------------------------------------------------------------------------
- -----------------------------Изгледи = Views------------------------------
- --------------------------------------------------------------------------
- -- Създаване на изгледи
- --1. Да се създаде изглед, който съдържа номерата на поръчките, датата им, името на клиента, направил поръчката.
- CREATE VIEW CustomerOrders
- AS
- SELECT c.FNAME + ' ' + c.LNAME as Customer,
- o.ORDER_ID,
- o.ORDER_DATE
- FROM ORDERS o, CUSTOMERS c
- WHERE o.CUSTOMER_ID = c.CUSTOMER_ID
- SELECT * FROM CustomerOrders
- --2. Да се модифицира горния изглед така, че да съдържа и колона с името на съответния служител, обработил поръчката.
- ALTER VIEW CustomerOrders
- AS
- SELECT c.FNAME + ' ' + c.LNAME as Customer,
- o.ORDER_ID,
- o.ORDER_DATE,
- e.FNAME + ' ' + e.LNAME as Employee
- FROM ORDERS o, CUSTOMERS c, EMPLOYEES e
- WHERE e.EMPLOYEE_ID = o.EMPLOYEE_ID
- AND o.CUSTOMER_ID = c.CUSTOMER_ID
- --3. Да се модифицира горния изглед така, че да съдържа само поръчките, обработени от служител с идентификатор = 167.
- ALTER VIEW CustomerOrders
- AS
- SELECT C.FNAME + ' ' + C.LNAME AS Customers,
- O.ORDER_ID,
- O.ORDER_DATE,
- E.FNAME + ' ' + E.LNAME AS Employees
- FROM EMPLOYEES E, ORDERS O, CUSTOMERS C
- WHERE E.EMPLOYEE_ID = O.EMPLOYEE_ID
- AND O.CUSTOMER_ID = C.CUSTOMER_ID
- AND E.EMPLOYEE_ID = 167
- -- 4. Да се създаде изглед, съдържащ име и фамилия на служител и общата сума на поръчките, които е обработил.
- CREATE VIEW EmployeeOrders
- AS
- SELECT E.FNAME,
- E.LNAME,
- SUM(OI.QUANTITY*OI.UNIT_PRICE) TotalPrice
- FROM EMPLOYEES E, ORDERS O, ORDER_ITEMS OI
- WHERE O.ORDER_ID = OI.ORDER_ID and E.EMPLOYEE_ID=O.EMPLOYEE_ID
- GROUP BY E.FNAME, E.LNAME
- SELECT * FROM EmployeeOrders
- ORDER BY TotalPrice DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement