# [SQL] ResultSet



## Sued_Faust (26. Sep 2011)

Moin,

es geht darum, dass ich eine Datenbank mit mehreren Tabellen habe. Die Tabellen sind durch IDs miteinander erknüpft. Ich versuch mal mein Problem bildlich darzustellen:

Tabellen von 1 bis 3, wobei -> die verbindung zeigt:

1->2->3

In Tabelle 1 steht: T1_id=1; name=Peter; 
In Tabelle 2 steht: T2_id=1; land=D; T1_id=1;
In Tabelle 3 steht: T3_id=1; Ort=BS; T2_id=1; 
                    und: T3_id=2; Ort=Berlin; T2_id=1;

Ausgabe wäre dann: 1, Peter,  1, D, 1, 1, BS, 1,
                               1, Peter, 1 D, 1, 2, Berlin, 1

Meine Problem ist jetzt, dass ich zwei werte in Tablle 3 stehen habe, die mit den vorherigen werten in den Tabellen verknüpft sind und ich dann aus Tabelle 1 und 2 zwei mal den selben Datensatz ausgegeben bekomme. Wie kann ich das umgehen, bzw verhindern, dass er mir die Datensätze zwei mal ausgibt?

Gruß


----------



## SlaterB (26. Sep 2011)

mit welchem Ziel denn?
verhindern kann man immer alles, Tabelle 3 ignorieren, gar keine DB-Anfrage stellen, Computer ausstellen,
aber das hat sicher negative Effekte, was genau muss den positiv noch erreicht werden?

Gruppierung + distinct können standardmäßg Ergebnismengen verkleinern


----------



## Sued_Faust (26. Sep 2011)

Verstehe, hab mich ein wenig schlecht ausgedrückt .
Also, was ich meine ist, dass Manche Tabelle mehrere Datensätze besitzt, welche wiederum mit anderen Datensätzen in anderen tabellen verknüpft sind. 
Problem ist, ich habe JTabels die gefüllt werden wollen und zwar genau mit den Daten aus der Datnebank sollen aber natürlich nicht mit doppelten werten gefüttert werden die nur durch die assoziation zwischen den Tabellen entstanden ist.

Wie man es z.b auch in meinem Beispiel steht. Da bekomme ich ja auch zwei mal den Wert aus tabelle 1 ausgegeben nur weil er aus Tabelle 3 zwei zugehörige Datensetze hat.

Ich hoffe das ich es einw enig deutlicher machen konnte, was ich gern hätte .

Gruß und danke


----------



## SlaterB (26. Sep 2011)

diesen Fall hatte ich berücksichtigt und beantwortet, leider bis du darauf nicht eingegangen 
was spricht gegen Gruppierung oder distinct?
mehr kann ich nicht wiederholen

(und bevor du gleich fragst 'was ist ..', 'bitte Beispiel für ..' : 
ausprobieren und nachschlagen, gerne auch 5 Stunden GROUP By lernen wenn dir diese Grundlage von SQL wirklich nichts sagt,
falls doch bekannt vor Nachfrage 5 Min. in Ruhe nachdenken, was man mit den Dingen so anstellen kann, 
was ist die Grundbedeutung von 'GROUP BY', in welchen Beispielen werden sie in Tutorials eingesetzt,
auch erstmal nur in einer Test-Tabelle mit mehrfachen Datensätzen testen, nicht gleich in deinem komplizierten Fall)


----------



## Sued_Faust (26. Sep 2011)

Sry, so war das nicht gemeint ... Wollte dir nur noch mal meine Ziele aufweisen, da ich mir nicht 100% sicher war ob es mit Group by funktioniert. Aber danke, dass du mir dabei geholfen hast... Bin schon fleißig .

Gruß


----------

