hawkeye78 Geschrieben 16. Mai 2006 Geschrieben 16. Mai 2006 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 Zitieren
Jasper Geschrieben 16. Mai 2006 Geschrieben 16. Mai 2006 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 Zitieren
baba007 Geschrieben 16. Mai 2006 Geschrieben 16. Mai 2006 select name, vorname from pres_marriage where Mar_Year = 1940 (wenn zahl oder) where Mar_Year is '1940' wenn string Zitieren
Jaraz Geschrieben 16. Mai 2006 Geschrieben 16. Mai 2006 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 Zitieren
schawenn Geschrieben 19. Mai 2006 Geschrieben 19. Mai 2006 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.