Entwickler-Ecke

Datenbanken - Query Daten mit einem anderen Query auswerten


Genesis1974 - Sa 27.09.03 12:54
Titel: Query Daten mit einem anderen Query auswerten
Hallo, sitze nun schon ein paar Stunden an dem Problem :(
vielleicht kann mir jemand helfen.

Problem:
Ich habe 2 Queries: im ersten werden ganz normal mit Select Daten aus einer Tabelle geholt:


Delphi-Quelltext
1:
2:
3:
4:
SELECT datum, name AS betrieb, start, ende
FROM history, betriebe
WHERE betriebid = betriebe.id
ORDER BY datum DESC, betrieb


und dazu berechne ich auch noch ein Paar Felder:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TDM2.MonatQueryCalcFields(DataSet: TDataSet);
var
  Date: TDate;
  Time: TTime;
  Year, Month, Day: Word;
begin
  with MonatQuery do begin
    Date := FieldValues['Datum']; // Datum auslesen
    DecodeDate(Date, Year, Month, Day); // Werte trennen
    FieldByName('Jahr').AsString  := IntToStr(Year); // Jahr setzen
    FieldByName('Monat').AsString := IntToStr(Month); // Monat setzen
    Time := FieldValues['Ende'] - FieldValues['Start']; // Zeitdauer berechnen
    FieldByName('Dauer').AsString := TimeToStr(Time); // Zeitdauer setzen
  end;
end;


Nun möchte ich mit dem zweiten Query auf das erste wie auf eine Tabelle
zugreifen, um dann die Daten zu gruppieren:


Delphi-Quelltext
1:
2:
3:
4:
SELECT jahr, monat, betrieb, SUM(dauer) AS Gesamt
FROM <Query1>
GROUP BY jahr, monat, betrieb
ORDER BY jahr DESC, monat DESC, betrieb


aber mit FROM kann man ja das Query nicht einbinden.
Oder gibt es eine andere möglichkeit ?


Bin für jeden Ratschlag dankbar.


MSCH - Sa 27.09.03 13:47

das geht so nicht ohne weiteres.
Versuchs doch damit select .... from (select ...)...
D.h. mach aus zwei selects eins.
grez
msch[/quote]


Genesis1974 - So 28.09.03 00:22

Danke für den Tipp,

habs jetzt so gelöst indem ich in meiner Tabelle
3 Felder mehr gemacht habe.