Advertisement
MolaynoxX

VIEWS

Mar 19th, 2022
1,220
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* "Kunden wollen ihre personen-bezogenen Daten abfragen" */
  2. CREATE VIEW `Kundendaten` AS
  3. SELECT K.Kundennummer, K.`Kunde Vorname`, K.`Kunde Nachname`, K.`Anschrift Straße`, K.`Anschrift Hausnummer`, K.`Anschrift Plz`, S.NameStadt, L.Land_Name, K.Geburtsdatum
  4. FROM `kunde` K
  5. INNER JOIN `land` L ON L.Land_Nummer = K.`Anschrift Land`
  6. INNER JOIN `stadt` S ON S.Plz = K.`Anschrift Plz`;
  7.  
  8. /* Beispielquery um Daten eines Kunden abzurufen */
  9. SELECT * FROM `Kundendaten` WHERE `Kundennummer` = 1;
  10.  
  11. /* "Mitarbeiter wollen Rechnungen aufrufen" */
  12. CREATE VIEW `rechnungen` AS
  13. SELECT *
  14. FROM `rechnung`;
  15.  
  16. /* "Mitarbeiter wollen Daten von Mitarbeitern aufrufen" */
  17. CREATE VIEW `Mitarbeiterdaten` AS
  18. SELECT M.Mitarbeiternummer, M.Vorname, M.Name, L.Land_Name
  19. FROM `mitarbeiter` M
  20. INNER JOIN `land` L ON L.Land_Nummer = M.Land;
  21.  
  22. /* "Die Einkaufsabteilung möchte zu jedem Artikel eine Aufstellung der Bestellvorgänge erhalten" */
  23. CREATE VIEW `Artikelbestellungen` AS
  24. SELECT P.Artikelnummer, A.Typ, A.Bezeichnung, A.Hersteller, P.Nummer_Rechnung, P.Anzahl, P.Anzahl * A.Preis AS `Gesamtpreis`
  25. FROM `posten` P
  26. INNER JOIN `artikel` A ON A.Artikelnummer = P.Artikelnummer
  27. ORDER BY P.Artikelnummer ASC;
  28.  
  29. /* "Das Controlling benötigt eine Aufstellung der Verkäufe der Mitarbeiter" */
  30. CREATE VIEW `Mitarbeiterverkäufe` AS
  31. SELECT R.Nummer_Mitarbeiter, M.Vorname, M.Name, P.Artikelnummer, P.Anzahl, R.Nummer_Rechnung
  32. FROM `posten` P
  33. INNER JOIN `rechnung` R ON P.Nummer_Rechnung = R.Nummer_Rechnung
  34. INNER JOIN `mitarbeiter` M ON R.Nummer_Mitarbeiter = M.Mitarbeiternummer
  35. ORDER BY R.Nummer_Mitarbeiter ASC;
  36.  
  37. /* "auch eine Auflistung aller Mitarbeiter mit Ihren Umsätzen soll abrufbar sein" */
  38. CREATE VIEW `Mitarbeiterumsatz` AS
  39. SELECT M.Mitarbeiternummer, M.Vorname, M.Name, L.Land_Name, SUM(P.Anzahl * A.Preis) AS Umsatz
  40. FROM `posten` P
  41. INNER JOIN `rechnung` R ON P.Nummer_Rechnung = R.Nummer_Rechnung
  42. INNER JOIN `mitarbeiter` M ON R.Nummer_Mitarbeiter = M.Mitarbeiternummer
  43. INNER JOIN `land` L ON L.Land_Nummer = M.Land
  44. INNER JOIN `artikel` A ON P.Artikelnummer = A.Artikelnummer
  45. GROUP BY M.Mitarbeiternummer;
Advertisement
RAW Paste Data Copied
Advertisement