erst verbund dann counting mit rechnung

Tonikum

Neuer Benutzer
Beiträge
2
select a1.pres_name, min(a1.year_inaugurated) as Minimum
from administration a1
group by a1.pres_name



ist mein SQL-Code um alle Presidentennamen zu wählen und dazugehörig das kleinste Antrittsjahr des Presidenten bei seinen Wahlen.

Was mir aber nun fehlt ist ein Problem.
Aus einer Relation "President" die das Attribut pres_name mit der Relation "administration" gleich hat will ich das Attribut birth_year herauswählen und aus administration.year_inaugurated-president.birth_year das Alter des Amtseintritts berechnen.
Habe dazu auch einen natural join in den SQL-Code geschrieben der beiden Tabellen:

select a1.pres_name, min(a1.year_inaugurated)-p.birth_year as Alter
from administration a1 join president p
on p.pres_name=a.pres_name
group by a1.pres_name

, was aber nicht die gewünschte ergebnisrelation ergab

Was mach ich falsch?
 
Werbung:

Charly

Datenbank-Guru
Beiträge
306
AW: erst verbund dann counting mit rechnung

Hallo,

versuch mal DATEDIFF

Code:
select datediff(yy, getdate() - 356 , getdate())

ergibt z.B. 1

Code:
select a1.pres_name, datediff(yy,min(a1.year_inaugurated),p.birth_year) as Alter
from administration a1 join president p
on p.pres_name=a.pres_name
group by a1.pres_name

dürfte dann das gewünschte Ergebins liefern.

Ich habs nicht getestet sonderen nur hier im Editor zusammengebaut. Also keine Funktionsgarantie;)

Gruß Charly
 
Oben