Sie sind nicht angemeldet.

  • Anmelden

1

26.12.2008, 14:28

SQL Problem für Dummies

hi

schlag mich scho den ganzen tag durch zig sql aufgaben die scho lang überfällig sind für die uni, für leut die sich damit auskennen ein witz, aber für erdbuddler die unnötigste lehrveranstaltung überhaupt („geodatenbanken“ wtf?). das is das letzte beispiel, das mir noch fehlt..

2 Tabellen:
- abh: svn (primärschlüssel), vorname, nachname, beziehung
- lvleiter: svn (primärschlüssel), vorname, nachname

Abh heißt Abhängige (in dieser tabelle also jetzt die namen von den abhängigen – sollen die angehörigen sein – des lehrveranstaltungsleiters). In der tabelle lvleiter sind jetzt eben die sozialversicherungsnummer, vorname und nachname von den jeweiligen lvleitern selbst.

so jetzt soll ich in einer Abfrage Vornamen, Familiennamen der LVLeiter und Anzahl der Abhängigen jener Lehrveranstaltungsleiter, die mehr als einen Abhängigen haben, darstellen.

ich muss ehrlich gestehen, dass ich nur wenig ahnung von sql habe, aber ich vermute, ich muss das mit einem inner join lösen? wie würd der code dann ausschauen?

ich kann zwar mit der holzhammermethode den count auslesen:

Quellcode

1
SELECT COUNT(SVN) FROM ABH GROUP BY SVN HAVING COUNT(SVN) >1;
aber das nicht irgendwie mit vor- und nachnamen der lvleiter verknüpfen (wahrscheinlich stimmt nichtmal die eine codezeile da)

im endeffekt soll dann sowas rauskommen bei der abfrage:
Vorname LVLeiter | Nachname LVLeiter | Anzahl der Abhängigen/Angehörigen

Ich häng euch noch ein kleines beispiel access file an, damit das mit den tabellen verständlicher rüberkommt.

Thx!
»CF_Ragnarok« hat folgende Datei angehängt:
  • Uni.rar (15,21 kB - 29 mal heruntergeladen - zuletzt: 29.03.2022, 22:51)

Zitat

Original von nC_$kittle_
Muss ich dann auch Hitler lieber mögen [...] nur weil er Deutscher ist?

Zitat

Original von CF_Icey
ich hab eine Hakenkreuzfahne über meinem Bett und einen Adolf-Hitler-Schlafanzug mit zugehöriger Bettwäsche

2

26.12.2008, 15:13

kann nachher mal kurz gucken, zur Not einfach mal in Access nachbauen und dann kannst du dir dort auch SQL Tags ausgeben lassen. Sind zwar nicht ganz, wie man es selber machen würde, aber dort kannst du auf jedenfall ein wenig üben und hast auch Bilder vor dir.

3

26.12.2008, 16:59

Hab hier zu Hause kein Access, darum kann ich die mdb nicht aufmachen, aber so auf die Schnelle fehlt mir hier noch was. Und zwar das Beziehungsfeld zwischen den Tabellen. Also der Fremdschlüssel in der Tabelle abh, in der die svn des lvleiter steht. So weiß man ja gar nicht, welche abh der lvleiter hat.

Antares, der hier nicht ganz schlau draus wird

4

26.12.2008, 17:35

hopplahop, ja klar, hab ich vergessen zu erwähnen. die angehörigen des lvleiters werden natürlich durch die svn identifiziert - also die svn in 'abh' entspricht der svn in 'lvleiter'...musste dann eine 1:n beziehung sein - darum gehört der primärschlüssel nur bei 'lvleiter' (nehm ich an) - hab in dem angehängten beispielfile aber gleich alle schlüssel vergessen :-D (solltest was anderes meinen, kP sorry, kenn mich da echt nur ganz wenig aus damit ;( )

€: herrje...danke antares, hab auch in meinem originalfile den schlüssel vergessen. jetzt klappts alles yeah

Quellcode

1
SELECT LVLEITER.VORNAME, LVLEITER.NACHNAME, COUNT(ABH.SVN) AS ABHÄNGIGE FROM LVLEITER INNER JOIN ABH ON LVLEITER.SVN = ABH.SVN GROUP BY LVLEITER.VORNAME, LVLEITER.NACHNAME HAVING COUNT(ABH.SVN)>1;

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »CF_Ragnarok« (26.12.2008, 17:47)