Guten Tag!
Hier ist mein Latein zuende und ich bin über jeden Tipp dankbar.
Ich habe eine relativ komplizierte Datenbankabfrage, die später in iReport weiterverwendet werden soll.
In einer Spalte berechne ich sehr aufwändig einen Fertigstellungsgrad. Das ist unablässig und geht doch auf die Perfomance.
Nun sollen anhand dieses Fertigstellungsgrades noch einige Werte und Textmeldungen generiert werden.
Ich suche also nach einer Möglichkeit, diesen Fertigstellungsgrad nur 1mal je Zeile zu berechnen und später weiter zu verwenden, so oft ich mag.
Bisher habe ich zu Testzwecken diesen Fertigstellungsgrad jeweils neu berechnet, was aber später im Live-Betrieb nicht möglich sein wird. Die Alternative wäre, in iReports einige neue Subreports anzulegen und dort die jeweiligen Werte zu setzen.
Aber die Experten unter Euch haben sicher hier eine Lösung fürs SQL, oder?
Alles Probieren über "declare" oder "define" hat nicht zum Erfolg geführt und in den im Netz verfügbaren Informationen finde ich maximal Functions, Procedures oder udfs, was ich eigentlich vermeiden mag.
Wäre prima, wenn Ihr helfen könntet!
Maja
Mal ein simples und sinnfreies Beispiel:
------------------------------------------------------
Tabelle:
Name | Vorname | Alter | AnzahlKinder |
Müller | Peter | 22 | 1 |
Maier | Alex | 38 | 3 |
Schmidt | Martina | 28 | 2 |
------------------------------------------------------
Select bisher:
select Vorname, Name, Alter,AnzahlKinder,MittelwertAlterKinder = (Alter + AnzahlKinder)/2,DoppelterMittelwertAlterKinder = 2* (Alter + AnzahlKinder)/2
------------------------------------------------------
Gesucht:
Definition VariableMittelwert = xxx
select select Vorname, Name, Alter,AnzahlKinder,MittelwertAlterKinder =VariableMittelwert ,DoppelterMittelwertAlterKinder = 2* VariableMittelwert
Hier ist mein Latein zuende und ich bin über jeden Tipp dankbar.
Ich habe eine relativ komplizierte Datenbankabfrage, die später in iReport weiterverwendet werden soll.
In einer Spalte berechne ich sehr aufwändig einen Fertigstellungsgrad. Das ist unablässig und geht doch auf die Perfomance.
Nun sollen anhand dieses Fertigstellungsgrades noch einige Werte und Textmeldungen generiert werden.
Ich suche also nach einer Möglichkeit, diesen Fertigstellungsgrad nur 1mal je Zeile zu berechnen und später weiter zu verwenden, so oft ich mag.
Bisher habe ich zu Testzwecken diesen Fertigstellungsgrad jeweils neu berechnet, was aber später im Live-Betrieb nicht möglich sein wird. Die Alternative wäre, in iReports einige neue Subreports anzulegen und dort die jeweiligen Werte zu setzen.
Aber die Experten unter Euch haben sicher hier eine Lösung fürs SQL, oder?
Alles Probieren über "declare" oder "define" hat nicht zum Erfolg geführt und in den im Netz verfügbaren Informationen finde ich maximal Functions, Procedures oder udfs, was ich eigentlich vermeiden mag.
Wäre prima, wenn Ihr helfen könntet!
Maja
Mal ein simples und sinnfreies Beispiel:
------------------------------------------------------
Tabelle:
Name | Vorname | Alter | AnzahlKinder |
Müller | Peter | 22 | 1 |
Maier | Alex | 38 | 3 |
Schmidt | Martina | 28 | 2 |
------------------------------------------------------
Select bisher:
select Vorname, Name, Alter,AnzahlKinder,MittelwertAlterKinder = (Alter + AnzahlKinder)/2,DoppelterMittelwertAlterKinder = 2* (Alter + AnzahlKinder)/2
------------------------------------------------------
Gesucht:
Definition VariableMittelwert = xxx
select select Vorname, Name, Alter,AnzahlKinder,MittelwertAlterKinder =VariableMittelwert ,DoppelterMittelwertAlterKinder = 2* VariableMittelwert