Announcement

Collapse
No announcement yet.

Summe aus 2 Tabellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Summe aus 2 Tabellen

    Hallo zusammen

    Ich muss eine Abfrage über zwei Tabellen ausführen, welche mir die Gesamtsumme der zurückgegebenen Felder Wert zurückgibt.
    Als Parameter muss ich RechNr, VonDatum und BisDatum übergeben.

    Tabelle 1
    BonNr, BonDatum, RechNr
    Tabelle 2
    BonNr, Wert, RechNr

    Habe noch nie mit Summenbildung gearbeitet.
    Die Abfrage sieht so aus:


    SELECT Tabelle1.RechNr AS Tabelle1_RechNr,
    Tabelle1.BonDatum AS Tabelle1_BonDatum,
    Tabelle2.Wert AS Tabelle2_Wert

    FROM Tabelle2 INNER JOIN
    Tabelle1 ON Tabelle2.BonNr = Tabelle1.BonNr

    WHERE (Tabelle2.RechNr = 123)
    AND
    (Tabelle1.BonDatum
    BETWEEN
    CONVERT(DATETIME, '01.01 .1900 00:00', 102)
    AND
    CONVERT(DATETIME, '12.31 .2010 00:00', 102)
    )


    Wer hat mir einen guten Tip, wie ich die Gesamtsumme der Spalte Wert erhalte?

    Vielen Dank für Eure Mühe.

    RWP

  • #2
    Originally posted by Roefe68 View Post
    Hallo zusammen

    Ich muss eine Abfrage über zwei Tabellen ausführen, welche mir die Gesamtsumme der zurückgegebenen Felder Wert zurückgibt.
    Als Parameter muss ich RechNr, VonDatum und BisDatum übergeben.

    Tabelle 1
    BonNr, BonDatum, RechNr
    Tabelle 2
    BonNr, Wert, RechNr

    Habe noch nie mit Summenbildung gearbeitet.
    Die Abfrage sieht so aus:


    SELECT Tabelle1.RechNr AS Tabelle1_RechNr,
    Tabelle1.BonDatum AS Tabelle1_BonDatum,
    Tabelle2.Wert AS Tabelle2_Wert

    FROM Tabelle2 INNER JOIN
    Tabelle1 ON Tabelle2.BonNr = Tabelle1.BonNr

    WHERE (Tabelle2.RechNr = 123)
    AND
    (Tabelle1.BonDatum
    BETWEEN
    CONVERT(DATETIME, '01.01 .1900 00:00', 102)
    AND
    CONVERT(DATETIME, '12.31 .2010 00:00', 102)
    )


    Wer hat mir einen guten Tip, wie ich die Gesamtsumme der Spalte Wert erhalte?

    Vielen Dank für Eure Mühe.

    RWP
    [HIGHLIGHT="sql"]
    SELECT Tabelle1.RechNr AS Tabelle1_RechNr,
    Tabelle1.BonDatum AS Tabelle1_BonDatum,
    SUM (Tabelle2.Wert[U]) AS Tabelle2_Wert

    FROM Tabelle2 INNER JOIN
    Tabelle1 ON Tabelle2.BonNr = Tabelle1.BonNr

    WHERE (Tabelle2.RechNr = 123)
    AND
    (Tabelle1.BonDatum
    BETWEEN
    CONVERT(DATETIME, '01.01 .1900 00:00', 102)
    AND
    CONVERT(DATETIME, '12.31 .2010 00:00', 102)
    )
    GROUP BY Tabelle1.RechNr ,
    Tabelle1.BonDatum [/HIGHLIGHT]

    Comment


    • #3
      Originally posted by ebis View Post
      [HIGHLIGHT="sql"]
      SELECT Tabelle1.RechNr AS Tabelle1_RechNr,
      Tabelle1.BonDatum AS Tabelle1_BonDatum,
      SUM (Tabelle2.Wert[U]) AS Tabelle2_Wert

      FROM Tabelle2 INNER JOIN
      Tabelle1 ON Tabelle2.BonNr = Tabelle1.BonNr

      WHERE (Tabelle2.RechNr = 123)
      AND
      (Tabelle1.BonDatum
      BETWEEN
      CONVERT(DATETIME, '01.01 .1900 00:00', 102)
      AND
      CONVERT(DATETIME, '12.31 .2010 00:00', 102)
      )
      GROUP BY Tabelle1.RechNr ,
      Tabelle1.BonDatum [/HIGHLIGHT]

      Danke für die Antwort

      Wenn ich [u] weglasse funktioniert es, aber er gibt einen falschen Wert zurück. Sonst gibt der Enterprisemanager einen Fehler zurück. Was kann ich noch tun?

      Comment

      Working...
      X