Mit 2 Queries ein Objekt erstellen

skuki

Aktives Mitglied
Hallo,

ich benötige für ein Objekt zwei Queries da sie aus unterschiedlichen Tabellen kommen. JOIN's würde nicht funktionieren da ich die Daten von verschiedenen Tagen benötige und ich das Datum als Where-Bedingung verwende.

Das Objekt wird in dieser Schleife erzeugt:
Code:
PreparedStatement pt = con.prepareStatement("SELECT .....");

ResultSet resultSet = pt.executeQuery();

while(resultSet.next()){

// erzeuge Objekte

}

Jetzt die Frage: Bekomme ich mein zweites Query irgendwie in diese Schleife? Kennt jemand eine andere Methode hierfür?

Wäre für jeden Tipp dankbar! 🙂
 
Hmm ich stelle mir das kompliziert vor.

Es geht um die Berechnung für einen Sportpark.
Für das Objekt Benutzer benötige ich Informationen vom aktuellen Tag. Für die genauere Preisberechnung benötige ich aber auch Informationen der anderen Tabelle des gestrigen Tages.

Ohne denke ich hier zu kompliziert?

Lg
 
Ich müsste schon ein wenig genauer wissen was du Abfragen willst. Aber es ist extrem selten, dass man eine Abfrage nicht mit einem query erschlagen kann. Sql ist schon verdammt mächtig
 
Denke ich mir auch, leider bin ich da noch nicht so bewandert...

Es läuft wie folgt ab.

Ich berechne den Preis für ein Tagesticket mit mehreren Parametern die ich mir in zwei Teilen hole.

1. die Daten des heutigen Tages. Ich Joine 3 Tabellen des aktuellen Tages (steht im WHERE Teil). 2. Zusätzlich dazu benötige ich das Ergebnis des letzten Tages für Folgetickets. Hierzu benötige ich meiner Meinung nach eine zweite Abfrage da ich hier vom vorherigen Tag Daten benötige.
 
So wirklich klar ist es immer noch nicht, was und wie du abfragen willst, dafür müssten wir das Model kennen.

Allerdings kannst du in SQL problemlos mit Datumsens "rechnen". Schau dir dazu einfach mal an, was für Date Functions das DBS deiner Wahl bereit stellt.

Deine Aussage "XYZ geht nicht, weil ich das Datum als Where-Bedingung verwende." solltest du grundlegend überdenken. Wenn es so, wie du es machst, nicht geht, dann solltest du gegebenfalls deine Query anpassen.

Ungeachtet all dessen: Eventuell kommt ja auch eine PL/SQL Procedure für dich in Frage, so dass du die gesamte Preisberechnung auf die Datenbank auslagern kannst?!
 
Im schlimmsten aller Fälle kannst du das Ergebnis des Vorherigen Tages immer noch mit einem Subselect ermitteln. Aber ich bin sicher es geht auch eleganter. Aber wie stg schon schrieb. Dazu müßte man das genau Modell kennen.
 

Zurück
Oben