Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Anzahl der Filialen
- SELECT COUNT(ID) AS 'Anzahl Filialen' FROM Filiale;
- -- Anzahl der Fahrzeuge pro Filiale (insgesamt)
- SELECT fil.ID, COUNT(fzg.ID) AS 'Anzahl Fahrzeuge' FROM Filiale fil LEFT JOIN Fahrzeug fzg ON fil.ID=fzg.ID_Filiale
- GROUP BY fil.ID;
- -- Anzahl der ausgeliehenen Fahrzeuge pro Filiale
- SELECT fil.ID, COUNT(fzg.ID) AS 'Anzahl ausgeliehener Fahrzeuge' FROM Filiale fil LEFT JOIN (SELECT fzg.ID, fzg.ID_Filiale FROM Fahrzeug fzg INNER JOIN Fahrzeugstatus stat ON fzg.ID_Fahrzeugstatus = stat.ID WHERE stat.Bezeichnung = 'aktuell vermietet') fzg ON fil.ID=fzg.ID_Filiale
- GROUP BY fil.ID;
- -- Anzahl der Kunden pro Filiale
- SELECT fil.ID, COUNT(knd.ID) AS 'Anzahl der Kunden' FROM Filiale fil LEFT JOIN Kunde knd ON fil.ID=knd.ID_Filiale
- GROUP BY fil.ID;
- -- Filiale mit den wenigsten verliehenen Fahrzeugen
- SELECT a.ID FROM (SELECT fil.ID, COUNT(fzg.ID) AS 'Anzahl Fahrzeuge' FROM Filiale fil LEFT JOIN Fahrzeug fzg ON fil.ID=fzg.ID_Filiale
- GROUP BY fil.ID) a WHERE a.`Anzahl Fahrzeuge`=(SELECT MIN(`Minimum Fahrzeuge`) FROM (SELECT fil.ID, COUNT(fzg.ID) AS 'Minimum Fahrzeuge' FROM Filiale fil LEFT JOIN Fahrzeug fzg ON fil.ID=fzg.ID_Filiale GROUP BY fil.ID ) a);
- -- alle Fahrzeuge, welche im letzten Monat nicht „verliehen“ wurden, werden der Filiale abgezogen und der Zentrale zugeordnet
- SELECT *, DATEDIFF(Current_Date(), letzteVermietung) FROM Fahrzeug WHERE DATEDIFF(Current_Date(), letzteVermietung) >30;
- CREATE TEMPORARY TABLE temp_table_name
- SELECT * FROM Fahrzeug;
- UPDATE Fahrzeug
- SET ID_Filiale = NULL
- ,ID_Zentrale=1
- WHERE letzteVermietung IN (SELECT letzteVermietung FROM temp_table_name WHERE DATEDIFF(Current_Date(), letzteVermietung) >30);
- SELECT *, DATEDIFF(Current_Date(), letzteVermietung) FROM Fahrzeug WHERE DATEDIFF(Current_Date(), letzteVermietung) >30;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement