Announcement

Collapse
No announcement yet.

Subquery bezug auf "main" query

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

  • Subquery bezug auf "main" query

    Hallo,

    Nach langem erfolglosen Suchen im Netz hab ich mich nun mal angemeldet.

    Ich hänge an einer, für euch vlt einfachen, Sache.

    Ich habe eine Mysql DB
    die einfach vom Aufbau ist.

    SELECT sum(Menge) as Menge_aktuell from MeineTabelle GROUP BY Datum WHERE Datum = "2019-11-30"

    nun hab ich einen Vorjahresvergleich eingebracht, was auch funktioniert...

    SELECT Sum(Menge) as Menge_aktuell, (SELECT Sum(Menge) FROM MeineTabelle Where Datum = "2018-11-30") as Menge_Vorjahr FROM MeineTabelle GROUP BY mt_Datum WHERE Datum = "2019-11-30"


    Nun will ich aber über mehrer Tage vergleichen, also muss der Bezug auf die mainquery irgendwie stattfinden... und da scheiter ich.
    Könnte mich da mal einer in die richtige Bahn lenken?

    Danke schonmal fürs lesen.

    euer

    Helado

  • #2
    Ich würde das nicht mit Subquerys lösen. Wenn du das Vorvorjahr oder das Vorvorvorjahr usw. willst, wieviele Subquery sollen das werden?
    Vielmehr würde ich das in der Art
    SELECT Sum(Menge) as Menge_aktuell,Datum FROM MeineTabelleWHERE EXTRACT(MONTH FROM Datum)=11 and EXTRACT(DAY FROM Datum)=30 GROUP BY Datum
    oder mittels between
    https://www.techonthenet.com/mysql/between.php
    Christian

    Comment


    • #3
      Hallo Christian,

      vielen Dank für deine Antwort.
      es bleibt definitiv nur beim Vorjahr.
      ich würde es gern mal testen, wie man eine Subquery in eine query packt und dann aber die passenden Daten dazu erhält.

      ich lern ja noch

      gibt es da eine Option?

      vielen Dank

      Helado

      Comment


      • #4
        Dann muss die Suubquery mit einem eindeutigem Element aus der Mainquery verbunden werden. Bsp. der ID des Datensatzes

        Code:
        SELECT Sum(Menge) as Menge_aktuell, (SELECT Sum(Menge) FROM MeineTabelle SUB Where Datum = 2018-11-30 and MAIN.ID=SUB.ID) as Menge_Vorjahr FROM MeineTabelle MAIN GROUP BY mt_Datum WHERE Datum = 2019-11-30
        Zuletzt editiert von Christian Marquardt; 05.12.2019, 12:58.
        Christian

        Comment


        • #5
          yeah, so meinte ich das, 1000 Dank

          Comment

          Working...
          X