Autor Beitrag
c#ler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Di 12.02.13 11:15 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Di 12.02.13 11:21 
Ich nehme mal an, dass es sich um 2 Tabellen handelt:
ausblenden 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

Für diesen Beitrag haben gedankt: c#ler
c#ler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Di 12.02.13 11:36 
user profile iconWasWeißDennIch hat folgendes geschrieben Zum zitierten Posting springen:
Ich nehme mal an, dass es sich um 2 Tabellen handelt:

Es geht um die Tabellen Vertrag und VertragPerson
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 12.02.13 11:45 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: c#ler
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Di 12.02.13 11: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]

Für diesen Beitrag haben gedankt: c#ler
c#ler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Di 12.02.13 12:04 
user profile iconWasWeißDennIch hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Di 12.02.13 12: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.