Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrere SQL Abfragen in einer Tabelle

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

  • Mehrere SQL Abfragen in einer Tabelle

    Hallo zusammen,

    hab seit einiger Zeit ein Problem das ich nicht gelöst undzwar möchte ich mehrere SQL Abfragen in einer Tabelle anzeigen das ganze sieht jetzt so aus:

    Das sind die MYSQL Abfragen:

    PHP-Code:
      //Netto-Umsatz nach Monat             
                 
    $netto_umsatz "SELECT SUM(TOTAL_ACTIVITY_VALUE_AMT_VAT_INCL) AS summe, ACTIVITY_PERIOD
                                  FROM einnahmen
                                  GROUP BY ACTIVITY_PERIOD
                                  ORDER BY TRANSACTION_DEPART_DATE DESC"

    Jetzt möchte ich noch diese Zwei Abfragen in die Tabelle hinzufügen (hab schon seeeehr viel ausprobiert aber hat nichts funktioniert bzw. nur halbwegs):

    PHP-Code:
        //Versendet von BELGIEN -> NETTOUMSATZ
                  
    $depart_be "SELECT SUM(TOTAL_ACTIVITY_VALUE_AMT_VAT_INCL) AS summe, ACTIVITY_PERIOD
                               FROM einnahmen 
                               WHERE SALE_DEPARTURE_COUNTRY = 'BE'
                               GROUP BY ACTIVITY_PERIOD "
    ;

                 
    //Versendet von DEUTSCHLAND -> NETTOUMSATZ
                  
    $depart_de "SELECT SUM(TOTAL_ACTIVITY_VALUE_AMT_VAT_INCL) AS summe, ACTIVITY_PERIOD
                               FROM einnahmen 
                               GROUP BY ACTIVITY_PERIOD 
                               HAVING SALE_DEPARTURE_COUNTRY = 'DE'"


    PHP-Code:
            <div class="tabellen">                                
                <table  class="table table-bordered">
                    <thead><tr><th>Monat:</th><th>Gesamt Netto Umsatz</th><th>Netto Umsatz von DE</th><th>Netto Umsatz von BE</th></tr></thead>
                    <tbody>
                         <?php foreach ($pdo->query($netto_umsatz) as $row): ?>
                         <?php 
                         $sum_monat 
    round($row['summe'], 2); 
                         
    $monat $row['ACTIVITY_PERIOD'];

                         
    $orig = array("DEC""NOV""JAN""FEB""MAR""APR""MAY");
                         
    $ersetz = array("12""11""01""02""03""04""05");

                         
    $monat_ersetzt str_replace($orig$ersetz$monat);
                         
    ?>
                         <tr>
                          <td><?= htmlspecialchars($monat_ersetztENT_COMPAT'UTF-8'?></td>
                          <td><?= htmlspecialchars(round($row['summe'], 2), ENT_COMPAT'UTF-8'?>€</td>
                         </tr>
                         <?php endforeach; ?>

                    </tbody>
                </table> 
            </div>
    Ich hoffe ihr könnt mir weiterhelfen.

    Liebe Grüße Casa47


  • #2
    Geht mit Window-Funktionen. Und mit Datenbanken, die diese können.
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

    Kommentar


    • #3
      ach komm, ich mag Postgresql auch am liebsten, aber muss das immer sein?
      Wenn Du schon keine konkret Hilfestellung bietest, kannst Du solche Kommentare vielleicht nur dann platzieren, wenn sie auch zutreffen?



      @TE: Soll das untereinander rauskommen oder in Spalten?
      Hat es einen tieferen Sinn, einmal ne Where Clause zu haben und einmal Having?
      Die Umsetzung der Periode könnte man auch nahtlos in SQL machen, für alle Monate oder wie auch immer.

      Kommentar


      • #4
        Danke für die schnellen Antworten.

        @Perry Staltic: Soll in Spalten angezeigt werden.
        & Nein mit den Where und Having Claus hat kein Sinn danke für den hinweis!

        Kommentar


        • #5
          Kannst du ein Beispiel geben wie deine Daten am Ende aussehen sollen?

          Auf den ersten Blick könnte so eine Abfrage passen:
          Code:
          SELECT
                  SUM(TOTAL_ACTIVITY_VALUE_AMT_VAT_INCL) AS Summe,
                  SUM(IF(SALE_DEPARTURE_COUNTRY = 'DE', TOTAL_ACTIVITY_VALUE_AMT_VAT_INCL, 0)) AS SummeDE,
                  SUM(IF(SALE_DEPARTURE_COUNTRY = 'BE', TOTAL_ACTIVITY_VALUE_AMT_VAT_INCL, 0)) AS SummeBE,
                  ACTIVITY_PERIOD
          FROM
                  einnahmen
          GROUP BY
                  ACTIVITY_PERIOD
          Relax, you're doing fine.
          RTFM | php.de Wissenssammlung | Datenbankindizes | Stay fit

          Kommentar


          • #6
            @VPh: Danke für die Antwort.

            Ja das ganze soll so aussehen:
            Monat Gesamtumsatz Umsatz von BE Umsatz von DE
            Jan 500 250 250
            Feb 600 300 300

            Kommentar

            Lädt...
            X