# select: alle ergebnisse ermitteln



## selTrey (30. Dez 2012)

hallo,

ich habe ein select über mehrere tabellen.
wenn ich das select ausführe bekomme ich ein ResultSet.

wie kann ich nun alle ergebnisse ermitteln?
while(rs.next()) ist mir bekannt, ich weis nur nicht, 
wie ich jetzt ermitteln kann, wie vielevergebnisse 
zurückgekommen sind.

in dem resultset stecken z.b. auch ortschaften drin aber das kann eine,
können aber auch 100 sein.

nennen wir eine tabelle customer und die andere locations.

ich selecte von customer mit einem join auf locatins.

so jetzt stecken einige customers in meinem resultset über die ich iterieren kann.
wie aber kann ich über die locations der jeweiligen customer iterieren?


----------



## Marcinek (30. Dez 2012)

Wenn du ein join machst, dann hast du im resultset jeweils einen customer mit seiner Location.

Du kannst nach Location guppieren und dann mit count() die anzahl herausfinden.


----------



## Timothy Truckle (30. Dez 2012)

selTrey hat gesagt.:


> hallo,
> 
> ich habe ein select über mehrere tabellen.
> wenn ich das select ausführe bekomme ich ein ResultSet.
> ...


Die kurze Antwort: nicht gesondert.

Die lange Antwort:
Wenn Du die Daten aus den Verschiedenen Tabellen in gesonderten Listen abspeiiern willst solltest Du sie auch in jeweils eigegen Selects aus der DB holen.

Du kannst die Daten natürlich auch aus Deiner Gesamtabfrage extrahieren, dass bedeutet aber einige If's in der 
	
	
	
	





```
while
```
-Schleife.

Die Anzahl der zurückgelieferten Zeilen erhälst Du am einfachsten nach der 
	
	
	
	





```
while
```
-Schleife als Größe der Liste. Aber vermutlich wolltest Du das vorher wissen um ein passendes Array zu initialisieren... :bloed:

bye
TT


----------



## frthjuyi (30. Dez 2012)

verstehe nur bahnhof? ^^

wie kann ich dem resultset sagen welche daten ich haben will, also
vom customer oder von den locations.
wenn ich im resultset meinen customer mit seinen locations drin hab, muss ich ja iwie auf alle locations eines customers zugreifen können und darüber iterieren können.

ich finde im www leider kein code example dazu, immer nur so triviales zeug


----------



## Marcinek (30. Dez 2012)

Du kannst im Resultset get("SPALTENNAME"); machen.

Beachte, dass du hiermit nicht magisch von einem customer alle Locations erhälsts.

Dafür müsstest du nach customer sortieren und dann solange der gleiche Customer da ist seine Locations heraussuchen.

----

Beachte, dass ohne deinen Code oder deinem SQL oder deiner DB-Struktur, hier NIEMAND ordnetlich helfen kann.


----------



## Timothy Truckle (30. Dez 2012)

frthjuyi hat gesagt.:


> wie kann ich dem resultset sagen welche daten ich haben will,


In dem Du vorher die SQL-Query entsprechend formulierst.

bye
TT


----------

