wie kann ich flg. Abfrage realisieren MySQL

Tuts4you

Erfahrenes Mitglied
Hallo...
schaff es einfach nicht flg. Abfrage zu realisieren:

Es befinden sich zurzeit(*) Artikel in (**) Kategorien in der DB

(*):
SELECT count(*) FROM Artikel;

(**):
SELECT DISTINCT count(Kategorie) FROM Artikel;

und das funktioniert nit :-(

meine Tabelle Artikel sieht so aus:
-AtikelNr
-TeileNr
-Bezeichnung
-Beschreibung
-Kategorie
-Menge
-Preis

und ich will, dass er mir alle Artikel die in DB sind zählt (*) und in welchen Kategorien Sie sind (**)...es sind 15 Kategorien zur Verfügung!

Hoffe ihr könnt mir weiterhelfen!

Glg Michael
 
Vllt wäre das ein Lösungsansatz:

PHP:
<?php
$sql = "SELECT * FROM `artikel`";
$result = mysql_query($sql),
$count = mysql_num_rows($result);
while($row = mysql_fetch_array($result){
$catsql = "SELECT * FROM `Kategorien` WHERE id = '" . $row['Kategorie'] . "'";
$catresult = mysql_query($catsql);
$cat = mysql_fetch_array($catresult);
echo "Der Artikel" . $row['Bezeichnung'] . " ist in der Kategorie " . $cat['Name'];
}

echo "Insgesamt gibt es " . $count . " Artikel in der Datenbank";
?>


Tobee
 
Hallo,

DISTINCT war schon der richtige Ansatz, nur leider an der falschen Stelle:
SQL:
SELECT COUNT(DISTINCT `Kategorie`) FROM `Artikel`
Besser wäre es allerdings, die Kategorien in eine separate Tabelle auszulagern und die Relation über einen Fremdkey abzubilden.

Grüße,
Matthias
 

Neue Beiträge

Zurück