AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Tabelle richtig gruppieren.... nur wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Tabelle richtig gruppieren.... nur wie?

Ein Thema von cugar · begonnen am 11. Sep 2010 · letzter Beitrag vom 11. Sep 2010
 
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#1

Tabelle richtig gruppieren.... nur wie?

  Alt 11. Sep 2010, 06:52
Datenbank: InterBase • Version: 7.5 • Zugriff über: Delphi 2006 prof.
Hi, stehe gerade auf dem Schlauch

Tabelle "SNACK_HAUPT"
mit Spalten: SNH_ID, SNH_GELD, SNH_AUSGEZAHLT
Inhalt:
SNH_ID=1 SNH_GELD=37 SNH_AUSGEZAHLT=3,7
SNH_ID=2 SNH_GELD=14 SNH_AUSGEZAHLT=1,4

Tabelle "SNACKVERKAUF "
mit Spalten: SNV_ID, SNACKHAUPT_ID, SNV_MENGE
Inhalt:
SNV_ID=1 SNACKHAUPT_ID=1 SNV_MENGE=37
SNV_ID=2 SNACKHAUPT_ID=2 SNV_MENGE=5
SNV_ID=3 SNACKHAUPT_ID=2 SNV_MENGE=8
SNV_ID=4 SNACKHAUPT_ID=2 SNV_MENGE=1

Meine Versuchsanweisung:

SQL-Code:
SELECT
SUM(H.SNH_GELD) as GeldTotal, SUM(H.SNH_AUSGEZAHLT) as ProvisionTotal, SUM(V.SNV_MENGE) as DosenTotal
FROM SNACK_HAUPT H
LEFT JOIN SNACKVERKAUF V ON (H.SNH_ID = V.SNV_SNACKHAUPT_ID)
Sollte sowas als Ergebn. kommen:
GeldTotal =51
ProvisionTotal =5,1
DosenTotal =51

ist aber:
GeldTotal =79
ProvisionTotal =7,9
DosenTotal =51

Mir ist klar wie InterBase auf diese werte kommt, SNACKVERKAUF beinhaltet 3 Datensätze mit gleichem SNV_ID=2. Hab da LEFT Join, weil es durch aus sein kann, das keine Dosen aufgefüllt wurden.
Wie müsste ich das ganze jetzt gruppieren damit das ganze stimmt??



Viele Grüsse
Andreas


Ps. Sowas geht leider nicht.

SQL-Code:
SELECT SUM(H.SNH_GELD) AS GeldTotal,
    SUM(H.SNH_AUSGEZAHLT) AS ProvisionTotal,
    SUM(V.DosenTotal) AS DosenTotal
FROM SNACK_HAUPT AS H
LEFT OUTER JOIN
    (SELECT SNV_SNACKHAUPT_ID,
        SUM(SNV_MENGE) AS DosenTotal
        FROM SNACKVERKAUF
        GROUP BY SNV_SNACKHAUPT_ID
    ) AS V
ON H.SNH_ID = V.SNV_SNACKHAUPT_ID
Interbase gibt eine Fehlermeldung aus, zuerst bei: "FROM SNACK_HAUPT AS H" muss "AS" weg und danach kommt die nächste mit Token unknow Select, in der Zeile hinter "LEFT OUTER JOIN". Glaub diese Unterabfragen gehen hier nur in "where" Anweisung.

Geändert von mkinzler (11. Sep 2010 um 10:56 Uhr) Grund: SQL-Tags eingefügt
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz