Entwickler-Ecke
Datenbanken - Vertragspersonen der einzelnen Verträge zählen
c#ler - Di 12.02.13 10:15
Titel: Vertragspersonen der einzelnen Verträge zählen
Hallo,
Ich bin SQL einsteiger.
Ich habe eine Tabelle [Vertrag], in der jedem Vertrag mehrere Vertragspersonen zugeordnet sind.
Ich möchte nun in einer Abfrage die Vertrags ID links haben (jede nur 1x) und dazu dann in der 2. Spalte die Anzahl der Vertragspersonen zu diesem Vertrag.
Ich habe schon etliche Beispiele gelesen, aber komm nicht auf einen grünen zweig. Habs mit Inner Join Versucht und mit einem Unterselect und nun auch mit Group by.
Kann mir da jemand helfen?
WasWeißDennIch - Di 12.02.13 10:21
Ich nehme mal an, dass es sich um 2 Tabellen handelt:
SQL-Anweisung
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| SELECT V.VertragsID, COUNT(*) FROM Vertrag V INNER JOIN Vertragspersonen P ON P.ID = V.PersonenID GROUP BY V.VertragsID ORDER BY V.VertragsID |
c#ler - Di 12.02.13 10:36
WasWeißDennIch hat folgendes geschrieben : |
Ich nehme mal an, dass es sich um 2 Tabellen handelt:
|
Es geht um die Tabellen Vertrag und VertragPerson
Delete - Di 12.02.13 10:45
- Nachträglich durch die Entwickler-Ecke gelöscht -
WasWeißDennIch - Di 12.02.13 10:49
Ich kenne die Tabellenstruktur ja nicht, wage das aber erst einmal zu bezweifeln. @c#ler: wie sieht denn die Tabellenbeziehung aus, und wie heißen die Schlüsselfelder?
[edit] Ich selbst habe das in meinem Statement evtl. (oder sogar wahrscheinlich) falsch herum aufgedröselt. [/edit]
c#ler - Di 12.02.13 11:04
WasWeißDennIch hat folgendes geschrieben : |
Ich kenne die Tabellenstruktur ja nicht, wage das aber erst einmal zu bezweifeln. @c#ler: wie sieht denn die Tabellenbeziehung aus, und wie heißen die Schlüsselfelder?
[edit] Ich selbst habe das in meinem Statement evtl. (oder sogar wahrscheinlich) falsch herum aufgedröselt. [/edit] |
Ich habs....dummer Fehler
Es gibt in der Tabelle VertragPerson 2 relevante Spalten
ID und person
die ID steht für die ID des Vertrags und person (hatte ich nicht gesehen) steht für die jeweilige Person.
d.h. ich musste nur im Inner join statt vp_ID mit V_ID gleichzusetzen, einfach VP_Person mit Vertrag ID gleichsetzen.
Danke leutz
WasWeißDennIch - Di 12.02.13 11:15
Also eine m:n-Beziehung, das hatte ich mir gedacht. Da sind dann 3 Tabellen im Spiel: eine für die Verträge, eine für die Personen und eine für die Kombination dieser beiden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!