Probleme mit Query.. Join verwenden?

Immi

Mitglied
Hallo zusammen

Ich habe zwei Probleme und hoffe das mir jemand von euch helfen kann dabei!

Zum einen möchte ich, dass die Daten immer vom aktuellen Tag sind, doch funktioniert es so nicht:

Code:
[..] AND (C.BuchPeriode >= :CURDATE())

Als Hinweis vielleicht noch, das Feld BuchPeriode ist ein TimeStamp.. Weiss jemand wie ich immer an das aktuelle Datum komme?


Dann das zweite Problem, ich sitz hier vor einer Datenbank, die ich leider nicht selbst erstellt habe und die keinerlei Beziehungen unter den Tabellen hat. Demzufolge stehen auch die selben Informationen in mehreren Tabellen (Ja, ich weiss, Horror.. aber ist halt nun mal so und ich muss da ein Query dafür schreiben.. :()

Was ich euch dazu sagen kann: Die Informationen, die ich benötige befinden sich in den drei Tabellen: ZahlMittel, BonZa und BonKo.
Aus der Tabelle ZahlMittel benötige ich lediglich die Bezeichnung (Bez) und die ZahlArt.
Aus der Tabelle BonZa benötige ich den Betrag.
Aus der Tabelle BonKo benötige ich die SerNr, die BuchPeriode (muss HEUTE sein) und die AbrechJournalNr muss grösser als 0 sein.

Jetzt habe ich dass Problem, dass mein Ergebniss mit diesem Query (Verzeiht mir für das Query!) viel zu hoch liegt. Es sieht so aus als würden sich die Beträge "hochrechnen" irgendwie miteinander multiplizieren.. Doch kann ich nicht genau sagen was ich wie und wo falsch mache? Könnt ihr mir einen Denkanreiz oder gar was handfestes liefern? Hab gerade ne Blockade..


Code:
    SELECT A.ZahlArt,  
           A.Bez,
           SUM(B.Betrag) AS Betrag                                                  

      FROM ZahlMittel A,  
           BonZa B,  
           BonKo C                         
             
     WHERE A.ZahlArt = B.ZahlArt
       AND C.AbrechJournalNr > 0
       AND C.SerNr = 140
     --AND (C.BuchPeriode >= :getCURDATE)
       AND (C.BuchPeriode >= '11.03.2008 00:00:00')                                                                        

  GROUP BY A.ZahlArt,
           A.Bez                           
             
 ORDER BY  A.ZahlArt

Danke bereits für Eure Bemühungen!

lg
 
Hi,

auf jede fall braucht du noch eine where - clause die bestimmt wie Tabelle 3 angebunden werden soll sowas wie

Code:
A.Cid = C.Id

was das datum angeht kommt das drauf an was für eine datenbank du benutzt

in mysql ist das zb

Code:
 and C.Buchperiode > CURRENT_DATE()

gruß

kato
 
Zurück