Ankündigung

Einklappen
Keine Ankündigung bisher.

Query mit JOIN und mehreren COUNTS

Einklappen

Neue Werbung 2019

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

  • Query mit JOIN und mehreren COUNTS

    Hallo

    Ich habe zwei Tabellen "orders" und "abo_benutzer" die ich für eine Abfrage verknüpfen will um daraus folgendes zu erhalten:

    Produkt : Anzahl Bestellungen : Anz. Best. von A1 : Anz. Best. A2 : Anz. Best. A3
    und das ganze von einem bestimmten Monat und Jahr.

    Tabelle orders:
    orderno
    order_date
    order_time
    benutzer
    prdodukt

    Tabelle abo_benutzer:
    benutzer
    abo_art (Inhalt: A1, A2 und A3)

    Leider versuche ich mich schon seit Stunden an einer funktionierenden Abfrage und habe leider das Problem, dass ich keinen direkten Zugriff auf das DBMS habe. Ist auch meine erste Abfrage.

    Meine "Lösung" sieht so aus:
    Code:
    SELECT orders.produkt AS produkt,sum(1) AS anzahl,
            (SELECT COUNT(abo_art) FROM abo_benutzer WHERE abo_art='A1') AS ca1,
            (SELECT COUNT(abo_art) FROM abo_benutzer WHERE abo_art='A2') AS ca2,
            (SELECT COUNT(abo_art) FROM abo_benutzer WHERE abo_art='A3') AS ca3   
            FROM orders LEFT JOIN abo_benutzer ON orders.benutzer=abo_benutzer.benutzer
            WHERE date_part('year',order_date)=$year,date_part('month',order_date)=$month 
            GROUP BY produkt 
            ORDER BY produkt
    Hat jemand einen Tipp? Ach ja, es ist eine Postgres 8.
    MfG frutay

  • #2
    postgres? nimm eine TRANSAKTION mit x queries anstatt diesem müll mit subselects....

    Kommentar


    • #3
      Warum denn? Da muss ja dann bei jedem SELECT eine JOIN-Klausel hin oder nicht? Was ist schlecht an Subselects?

      Sorry, bin noch der totale Anfänger.

      Kommentar

      Lädt...
      X