dedlfix: Nachschlag

Beitrag lesen

Hi!

danke für die Hilfe. Ihc habe auch verstanden, was Du meinst, habe mich aber nun gegen die Subselect-Lösunbg entschieden, weil die andere für mich persönlich irgendwie "lesbarer" ist.

Da ist ein bisschen Schachtelei, das vielleicht unübersichtlich wirkt. Aber das Mischen der Querys wegen des Joins wird auch nicht übersichtlicher.

Diese Query spuckt mir völlig "unsinnige" Werte raus, die definitiv nicht stimmen können.
Ich möchte aber die monatlich summierten Ausgaben im Sinne von Menge*Preis*multi*(1-Rabatt) haben.

Ich nehme an, du hast zu viele Datensätze, um mal eins der "unsinnigen" Ergebnisse und der dazugehörigen Datensätze zu zeigen. Ich möchte dich dazu ermutigen, doch die Subselect-Lösung zu präferieren. Erstell dir zunächst die Query ohne den Join. Die kannst du ausgiebig testen. Abgesehen von den fehlenden Monaten sollte sie ja ein sinnvolles Ergebnis liefert. Dann hast du erst einmal Gewissheit, dass dir nicht der Join einen Streich spielt. Wenn alles fehlerfrei läuft, baust du den Join drumherum, und das Ergebnis müsste sich lediglich durch die hinzugekommenen Leer-Monate unterscheiden.

Dem unsinnigen Ergebnis würde ich wie folgt auf die Spur zu kommen versuchen. Reduziere deine Test-Datenmenge auf das Nötigste, also so, dass die Funktionalität nachgewiesen werden kann beziehungsweise bei Problemen, so dass das Problem nachvollzogen werden kann.

"Unsinnig" heißt vermutlich, dass die Rechnung nicht stimmen kann. Lass die Gruppierung weg und dir die Rechenergebnisse der einzelnen Datensätze anzeigen. Gegebenenfalls füge Zwischenergebnisberechnungen (und die Spalten der Originalwerte) in die SELECT-Klausel ein, um deren Ergebnis zu prüfen, zum Beispiel multi = 'ja' und ISNULL(multi). Vielleicht kommt da ja was ungewolltes raus. Wenn nicht, wüsste ich jetzt auch nicht, wo die Ursache sonst noch zu suchen wäre.

Lo!

0 54

Problem bei einer Query

Franco
  • datenbank
  1. 0
    suit
  2. 0
    dedlfix
    1. 0
      Franco
      1. 0
        Vinzenz Mai
        1. 0
          Franco
          1. 0
            dedlfix
            1. 0
              Franco
              1. 0
                dedlfix
                1. 0
                  Franco
                  1. 0
                    Vinzenz Mai
                    1. 0
                      Franco
                      1. 0
                        dedlfix
                        1. 0
                          Franco
                          1. 0
                            dedlfix
                            1. 0
                              Franco
                              1. 0
                                dedlfix
                                1. 0
                                  Franco
                                  1. 0

                                    Code zum Nachbasteln

                                    Franco
                                    1. 0
                                      dedlfix
                                      1. 0
                                        dedlfix
                                        1. 0
                                          Vinzenz Mai
                                        2. 0
                                          Franco
                                          1. 0
                                            Vinzenz Mai
                                            1. 0

                                              Nachschlag

                                              Franco
                                              1. 0
                                                Ilja
                                                1. 0
                                                  dedlfix
                                                  1. 0
                                                    Franco
                                                  2. 0
                                                    Ilja
                                              2. 0
                                                dedlfix
                                                1. 0
                                                  Franco
                                                  1. 0
                                                    Vinzenz Mai
                                                    1. 0
                                                      Franco
                                                  2. 0
                                                    dedlfix
                                                    1. 0
                                                      Franco
                                                      1. 0

                                                        Nachschlag, Tag 3

                                                        Franco
                                                        1. 0
                                                          dedlfix
                                                          1. 0
                                                            Franco
                                                            1. 0
                                                              dedlfix
                                                              1. 0
                                                                Franco
                                                                1. 0
                                                                  Franco
                                                                2. 0
                                                                  dedlfix
                                            2. 0
                                              Franco
                          2. 0
                            Ilja
                  2. 0
                    dedlfix
                    1. 0
                      Franco
                      1. 0
                        dedlfix
    2. 0
      Franco
      1. 0
        dedlfix
        1. 0
          Franco
          1. 0
            dedlfix
        2. 0
          Franco
          1. 0
            dedlfix
            1. 0
              Franco