doppeltes Group by

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • doppeltes Group by

    hi all,

    folgendes habe 2 tables.

    in der einen, nenen wir Sie A, befinden sich nur Rechnugnsnummern.
    in einer 2, nennen wir Sie B, befinden sich nur die Kontobewegungen.

    So ich will jetzt das folgendes durch eine SELECT abfrage aufgelistet wird:

    RN | Absender | Betrag | Restbetrag
    ====================================
    R1 | Firma | 1000.00 | 1000.00
    R1 | Zahler1 | 100.00 | 900.00
    .
    .
    .

    Also das mir bei beide Tables mit OrderBy aufgelistet wird, allerdings darf man nicht ausser acht lassen dass es mehrere Rechnungen gibt,

    das heisst als erstes steht die Rechung, und darunter aus der anderen Table, wo alle Bewegungn Protokolliert sind, die zugehörigen bewegungen zu der Rechnung.

    war schon in der Richtung, Group BY A.RN aber das passte nicht so ganz.

    Ich nehme nicht an das mit MySQL das gleich so errechnen kann, also muss ich sowieso über php die Rechungen starten.
    Aber bevor ich jetzt mal 3 While schleifen zum auslesen der Daten produziere, usw. schau ich mal ob das MySQL seitig irgend wie es zu lösen ist, das es ja deutlich bessere Peformance über MySQL ist.

    bin für jeden Tipp dankbar!
    Zuletzt geändert von mickey; 14.10.2003, 12:00.
    bei fragen immer
    windows - pc: Start -> Ausführen -> cmd (command) - format c:
    linux : lass es , es hat sicher einen sinn so
    --
    php-forum.at


    >>>>dont ask me why<<<<

  • #2
    Re: doppeltes Group by

    Original geschrieben von mickey
    bin für jeden Tipp dankbar!
    und wir wären dankbar, wenn du mal eine verständlichere beschreibung lieferst, was genau du eigentlich erreichen willst, und wo das problem dabei liegt.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      war schon in der Richtung, Group BY A.RN aber das passte nicht so ganz.

      Ich nehme nicht an das mit MySQL das gleich so errechnen kann, also muss ich sowieso über php die Rechungen starten.
      Aber bevor ich jetzt mal 3 While schleifen zum auslesen der Daten produziere, usw. schau ich mal ob das MySQL seitig irgend wie es zu lösen ist, das es ja deutlich bessere Peformance über MySQL ist.
      ist das leicht nicht verständlich? okay, sorry.

      also, mir geht es darum das es nicht geklappt hat, undo ob es überhaupt möglich das mir die select abfrage genauso die ddaten aus 2 tables ausgbit.
      inkl. der rechnung.

      als inkl. dem subtrahieren usw.
      bei fragen immer
      windows - pc: Start -> Ausführen -> cmd (command) - format c:
      linux : lass es , es hat sicher einen sinn so
      --
      php-forum.at


      >>>>dont ask me why<<<<

      Kommentar


      • #4
        okay, offenbar war es doch etwas unverständlch alles aufgeschireben , noch ein versuch:

        also folgendes, habe Mysql.

        ich bastle schon die ganze zeit herum das eine simple rechenaufgabe über 2 zeilen oder mehr geht.
        also, klingt kompliziert ist es aber überhaupt nicht.
        folgendes es sind 2 tables:

        table A:
        +----+-----------+
        | RN | Betrag |
        +----+-----------+
        | R1 | 1000.00 |
        | R2 | 246987.00 |
        | R3 | 324.00 |
        +----+-----------+

        table B:
        +----+-----+----------+
        | RN | Art | Betrag |
        +----+-----+----------+
        | R1 | ZA | 100.00 |
        | R1 | ZA | 346.00 |
        | R2 | ZA | 16879.00 |
        +----+-----+----------+

        so jetz will ich das es so aussieht in etwa:
        +----+-----+----------+-----------+
        | RN | Art | Eingang | RBetrag |
        +----+-----+----------+-----------+
        | R1 | ZA | 100.00 | 900.00 |
        | R1 | ZA | 346.00 | 654.00 |
        | R2 | ZA | 16879.00 | 230108.00 |
        +----+-----+----------+-----------+
        Query:
        mysql> SELECT B.RN, B.Art, B.Betrag AS Eingang,
        -> (A.Betrag - B.Betrag ) AS RBetrag
        -> FROM `A`, `B`
        -> WHERE A.RN = B.RN;

        nur das problem ist das zuerst auch gerehcnet werden soll
        R1 - Eingang 1 (100) - Eingang2 (954)

        also das dann dort steht:
        +----+-----+----------+-----------+
        | RN | Art | Eingang | RBetrag |
        +----+-----+----------+-----------+
        | R1 | ZA | 00.00 | 1000.00 |
        | R1 | ZA | 100.00 | 900.00 |
        | R1 | ZA | 346.00 | 554.00 |
        | R2 | ZA | 16879.00 | 230108.00 |
        +----+-----+----------+-----------+

        klar mit PHP lässt isch das easy lösen, nur geht es hier um viele datensätze und aufgrund der Peformance ist es mit Mysql besser.
        ist es überhaupt möglich !?!?

        danke
        bei fragen immer
        windows - pc: Start -> Ausführen -> cmd (command) - format c:
        linux : lass es , es hat sicher einen sinn so
        --
        php-forum.at


        >>>>dont ask me why<<<<

        Kommentar

        Lädt...
        X