Zwei Abfragen in einer, aber wie?

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

  • Zwei Abfragen in einer, aber wie?

    Hallo


    Ich möchte weniger Queries für meine Datenbankabfragen verwenden, also Abfragen miteinander verknüpfen.
    Habe mir deshalb schon einige Threads dazu angesehen, bin jedoch nicht schlau draus geworden


    Ich habe zwei Tabellen:
    - anbieter_kategorien
    - kategorieid
    - kategoriename
    - anbieter_anbieter
    - anbieterid
    - kategorieid
    - anbietername
    - ...

    Nun möchte ich alle Kategorien aus der Tabelle anbieter_kategorien abfragen und jeweils die zugehörige Anzahl
    der Anbieter, die in der jeweiligen Kategorie verfügbar sind. Bisher hab ich das so gemacht, was aber nicht unbedingt
    gut für die Datenbankperformance ist:

    PHP Code:
    $sql "SELECT kategorieid,kategoriename FROM anbieter_kategorien WHERE showkategorie=1 ORDER BY sortid ASC ";
    $result mysql_query($sql,$connection);
    if (
    mysql_num_rows($result) != 0)
      {
       
    $i 1;
       while (list(
    $kategorieid[$i],$kategoriename[$i]) = mysql_fetch_row($result))
         {
          
    $anbietercount[$i] = mysql_num_rows(mysql_query("SELECT anbieterid FROM anbieter_anbieter WHERE kategorieid='$kategorieid[$i]' && showanbieter='1' ",$connection));
          
    $i++;
         }
      } 

  • #2
    Probier' mal ein SQL-Statement in der Art:
    Code:
    SELECT k.kategorieid, k.kategoriename, COUNT(a.anbieterid) anzahl
    FROM anbieter_kategorien k
    LEFT JOIN anbieter_anbieter a
    ON k.kategorieid = a.kategorieid
    GROUP BYL k.kategorieid, k.kategoriename
    Werte auslesen ... fertig.
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Comment


    • #3
      Funktioniert prima. DANKE!

      Mir ist jetzt noch ne Kleinigkeit eingefallen:
      Kann man da noch einbauen, damit die kategorie nur dann ausgegeben wird, falls die anzahl > 0 ist?

      Comment

      Working...
      X