Veröffentlicht 16. Mai 200619 j Hallo, ich soll als Hausaufgabe für die Uni, ein SQL-Statement schreiben, das auf einer Tabelle (in welcher sich amerikanische Präsidenten, sowie den Namen ihrer Gattinen und das Jahr ihrer heiratet befinden), die Präsidenten ausgibt die im gleichen Jahr geheiratet haben. Zum Beispiel haben Nixon und Reagan im Jahr 1940 geheiratet, meine entwürfe für die SQL -Abfragen sehen im moment so aus: 1. Variante: SELECT COUNT( Mar_Year ) AS zahl, Pres_Name FROM pres_marriage GROUP BY Mar_Year HAVING zahl=2 -> Liefert nur eine der beiden Präsidenten z.B. nur Nixon 2. Variante SELECT Pres_Name FROM pres_marriage INNER JOIN pres_marriage ON pres_marriage.Mar_Year = pres_marriage.Mar_Year AND pres_marriage.Pres_Name != pres_marriage.Pres_Name -> Behauptet #1066 - Not unique table/alias: 'pres_marriage' Da ich nun ziemlich ratlos bin, was ich falsch mache wäre ich über einen kleinen Hinweis sehr danbar. Viele Grüsse Dan
16. Mai 200619 j z.b. mit subselect: select name from presis where m_year in (select m_year from presis group by m_year having count(*) > 1); allerdings unterstützen nicht alle RDBMS subselects. -j
16. Mai 200619 j select name, vorname from pres_marriage where Mar_Year = 1940 (wenn zahl oder) where Mar_Year is '1940' wenn string
16. Mai 200619 j SELECT Pres_Name FROM pres_marriage p1 INNER JOIN pres_marriage p2 ON p1.Mar_Year = p2.Mar_Year AND p1.Pres_Name != p2.Pres_Name Gruß Jaraz
19. Mai 200619 j Und anstatt in der Where-Klausel ein Subselect zu machen, kannst du es auch in der Select-Klausel machen. So wie du lustig bist. ;-) SELECT presi_names, jahr, (SELECT COUNT(*) FROM presis u WHERE u.jahr = t.jahr) FROM presis t ORDER BY jahr mfg schawenn
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.