Danke!!Zitat:
Zitat von st@ni
Wie setzt du das ReportsTo ein --> einfach
Select Employees.ReportsTo ??
Druckbare Version
Danke!!Zitat:
Zitat von st@ni
Wie setzt du das ReportsTo ein --> einfach
Select Employees.ReportsTo ??
Hi,
Also es gibt insgesamt 2 Vorgesetzte:
Mitarbeiter 2 und 5.
Die Mitarbeiter 6, 7 und 9 sind dem Mitarbeiter 5 untergeordnet.
Die Mitarbeiter 1, 3, 4, 5(!) und 8 sind dem Mitarbeiter 2 untergeordnet.
Das heißt für diese 2 Mitarbeiter müsstest du das Durchschnittsalter der direkt untergeordneten Mitarbeiter (siehe oben) berechnen.
Ich habe das Alter wie folgt berechnet:
So bekommst du alle untergeordneten Mitarbeiter (das ist aber auch der Mitarbeiter 5):Code:AVG(DATEDIFF(day,u.birthdate,GETDATE())/365) AS DurchsAlterUntergMA
Code:SELECT EmployeeID, LastName, FirstName, ReportsTo
FROM Employees
GROUP BY EmployeeID, LastName, FirstName, ReportsTo
HAVING ReportsTo Is Not Null;
Wo habt ihr die Daten zu Mitarbeitern usw her?? Gibt es dazu eine Datenbank?
Die Vorgesetzen 2 und 5 zeigt es mir auch an....bekommst du das gleiche ergebnis mit deiner Abfrage wie mit meinerZitat:
Zitat von st@ni
SELECT Avg(DATEDIFF(year, BirthDate, GETDATE()) - (CASE WHEN DATEADD(year, DATEDIFF(year, BirthDate, GETDATE()), BirthDate) > GETDATE() THEN 1 ELSE 0 END)) As [Alter], EmployeeID, LastName, FirstName, ReportsTo
FROM Employees
GROUP BY Employees.EmployeeID, Employees.LastName, Employees.FirstName, Employees.ReportsTo
HAVING ReportsTo Is Not Null
Weil wenn ich den Code, den du für das Alter angegeben hast, einbaue bekomme ich einen synthaxfehler nähe des Datediff ?!?!
Die Online-Datenbank ist über folgende URL erreichbar:Zitat:
Zitat von Laura95
http://iwit1.uibk.ac.at/sql
Die entsprechenden Zugangsdaten solltest du von deinem Vortragenden erhalten haben.
mit dem Befehl
SELECT *
FROM Employees;
siehst du alle Daten der Employees. Auf diese Weise kannst du dir von allen Tabellen die gesamten Datensätze anzeigen lassen.
Seltsam, bei mir funktioniert die Abfrage mitZitat:
Zitat von claudi217
ausgezeichnet.Code:AVG(DATEDIFF(day,BirthDate,GETDATE())/365) AS DurchsAlterUntergMA
Mein Ergebnis für diese Aufgabe is übrigens:
Code:EmployeeID LastName FirstName DurchsAlterUntergMA
2 Fuller Andrew 56
5 Buchanan Steven 45
Wenn ich deine Abfrage wie oben durchführe erhalte ich folgendes:
Code:Alter EmployeeID LastName FirstName ReportsTo
60 1 Davolio Nancy 2
45 3 Leverling Janet 2
71 4 Peacock Margaret 2
53 5 Buchanan Steven 2
45 6 Suyama Michael 5
48 7 King Robert 5
50 8 Callahan Laura 2
42 9 Dodsworth Anne 5
hmm...dann muss ich mal schauen, wie ich es noch mache, dass es mir die daten zusammenfügt,nicht einzeln darlegt ;)Zitat:
Zitat von st@ni
Hast du bei deiner Abfrage, dass day und BirthDate bestimmt?! oder hast du es so übernommen...bekomm den synthaxfehler nämlich nicht raus...komisch
AVG(DATEDIFF(day,BirthDate,GETDATE())/365) AS DurchsAlterUntergMA
eben, es geht ja im Grunde darum, für die (beiden) Vorgesetzten jeweils das Durchschnittsalter ihrer direkt untergeordneten Mitarbeiter auszugeben.
Aber du scheinst das Alter der Mitarbeiter schonmal richtig berechnet zu haben. Wenn ich bei deinem obigen Ergebnis für jeden Vorgesetzten das Alter der untergeordneten Mitarbeiter zusammenzähle und den durchschnitt bilde erhalte ich für den Vorgesetzten 2 einen Wert von 55,8 und für den Vorgesetzten 5 einen Wert von 45 :-)
komisch, dass es mir den Durchschnitt nicht ausrechnet, weil hab ja AVG geschrieben...Zitat:
Zitat von st@ni
@ALL
ein kleiner Hinweis von meiner Seite, da ich an einigen Stellen und auch per PM oft falsche Berechnungen des Umsatzes sehe...
Also ... der Umsatz berechnet sich nicht (nur) aus
Menge * Preis
Es gibt hier noch einen anderen Wert zu berücksichtigen. Welchen, seht ihr mit einem Blick auf die Tabelle OrderDetails ;-)
Hallo :)
wir sind uns nicht ganz sicher ob folgende Ergebnisse bei Aufgabe 6 richtig sind. Könnte Sie bitte jemand, der sich sicher ist bestätigen oder ablehnen?
Zur Erinnerung die Frage:
Geben Sie für alle Transportunternehmen (Shippers) den durchschnittlichen Warenwert pro transportierter Lieferung aus und sortieren Sie die Liste aufsteigend nach dem durchschnittlichen Warenwert. (1)