hallo johannes,
zunächst danke für deine antwort. vertrag_id ist nicht der primärschlüssel der tabelle „kalk“.
ein vertrag(id) kann beliebig viele kalkulationen enthalten.
wenn das datum der zurückgegebenen kalkulationen gleich ist, soll der wert value summiert und nur ausgegeben werden, wenn dieser positiv ist.
dies müsste sich durch subselect und selectCase lösen lassen –
und generell gibt es für diese datenbank meines wissens kein konzept. alles liegt kreuz und quer – namenskonventionen, was ist das?
das anwendungssystem wurde eingekauft, deswegen kann und werde ich nicht an der db rumschrauben(benötige aber trotzdem auswertungen…)
also erstmal generell: Wenn du da schon mehrere Einträge
bekommst (vertrags_id hört sich jetzt mal nach einem
Primärschlüssl an), dann solltest du dein DB-Konzept nochmal
überarbeiten, da du anscheinend nicht Redundanz und Anomalie
frei bist.
Ansonsten würde ich die Abfrage ob das Datum das selbe ist
usw. und die darauffolgende Ausgabe bzw. nicht-Ausgabe nicht
im SQL-Statement machen. Das kannst du ja problemlos schnell
im Programmcode einbauen. Dürfte von der Performance eh
schneller sein und eine Datenbankabfrage hast du so oder so…
bei deiner aussage zur performance kommt es auf die problemstellung an
sicher macht es keinen unterschied wenn ich die folgeverarbeitung im programmcode einbaue, doch wenn ich aufgrund des ergebnisses des sql ein folgesql senden muss?? … dann imho bestimmt nicht…
sofern das sql korrekt aufgebaut ist, ist es auf jedenfall schneller, nur 1ne anfrage über die connection zu schicken, als–> sql senden, verarbeiten, folgesql senden
gruß
rasta
Gruß
Johannes
hallo,
ich habe gerade einen knoten im hirn.
folgender fall:
select id, datestate, value from kalk where vertrag_id = 4576
ich bekomme für dieses sql 2 datensätze zurück.
jetzt soll folgende logik eingebaut werden – wenn das datum
der datensätze gleich ist UND der wert value summiert, eine
positive zahl ergibt, soll der datensatz ausgegeben werden,
ansonsten nicht.
kann mir jemand auf die sprünge helfen?
gruß
rasta