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:
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++;
}
}
Kommentar