Advertisement
Guest User

Untitled

a guest
Feb 11th, 2020
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.20 KB | None | 0 0
  1. --------------------------------------------------------------------------
  2. -----------------------------Изгледи = Views------------------------------
  3. --------------------------------------------------------------------------
  4.  
  5. --  Създаване на изгледи
  6.  
  7. --1. Да се създаде изглед, който съдържа номерата на поръчките, датата им, името на клиента, направил поръчката.
  8.  
  9. CREATE VIEW CustomerOrders
  10. AS
  11. SELECT c.FNAME +  ' ' + c.LNAME as Customer,
  12.        o.ORDER_ID,
  13.        o.ORDER_DATE
  14.   FROM ORDERS o, CUSTOMERS c
  15.  WHERE o.CUSTOMER_ID = c.CUSTOMER_ID
  16.  
  17. SELECT * FROM CustomerOrders
  18.  
  19. --2. Да се модифицира горния изглед така, че да съдържа и колона с името на съответния служител, обработил поръчката.
  20.  
  21. ALTER VIEW CustomerOrders
  22. AS
  23. SELECT c.FNAME +  ' ' + c.LNAME as Customer,
  24.        o.ORDER_ID,
  25.        o.ORDER_DATE,
  26.        e.FNAME + ' ' + e.LNAME as Employee
  27.   FROM ORDERS o, CUSTOMERS c, EMPLOYEES e
  28.  WHERE e.EMPLOYEE_ID = o.EMPLOYEE_ID
  29.    AND o.CUSTOMER_ID = c.CUSTOMER_ID
  30.  
  31. --3. Да се модифицира горния изглед така, че да съдържа само поръчките, обработени от служител с идентификатор = 167.
  32.  
  33. ALTER VIEW CustomerOrders
  34. AS
  35. SELECT C.FNAME + ' ' + C.LNAME AS Customers,
  36.        O.ORDER_ID,
  37.        O.ORDER_DATE,
  38.        E.FNAME + ' ' + E.LNAME AS Employees
  39.   FROM EMPLOYEES E, ORDERS O, CUSTOMERS C
  40.  WHERE E.EMPLOYEE_ID = O.EMPLOYEE_ID
  41.    AND O.CUSTOMER_ID = C.CUSTOMER_ID
  42.    AND E.EMPLOYEE_ID = 167
  43.  
  44.  -- 4. Да се създаде изглед, съдържащ име и фамилия на служител и общата сума на поръчките, които е обработил.
  45.  
  46.  CREATE VIEW EmployeeOrders
  47.  AS
  48.   SELECT E.FNAME,
  49.          E.LNAME,
  50.          SUM(OI.QUANTITY*OI.UNIT_PRICE) TotalPrice
  51.     FROM EMPLOYEES E, ORDERS O, ORDER_ITEMS OI
  52.    WHERE O.ORDER_ID = OI.ORDER_ID and E.EMPLOYEE_ID=O.EMPLOYEE_ID
  53. GROUP BY E.FNAME, E.LNAME
  54.  
  55.  
  56. SELECT * FROM EmployeeOrders
  57. ORDER BY TotalPrice DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement