B
ByeBye 242513
Hallo Community,
hoffentlich ist der Titel nicht zu kompliziert gewählt, leider ist mir kein besserer eingefallen. Ich habe zwei Frage und komme zu keiner Lösung
Die Ausgangssituation der Datenbank ist wie folgt:
Frage 1)
Ich möchte gerne Produkte aus der Tabelle "Produkt" ausgeben, jedoch nur wenn die Produkt-ID nicht in der Tabelle "Buchung --> ProduktID" vermerkt ist. In diesem Beispiel sollte nur Produkt 2 und Produkt 3 aufgelistet werden. Mein aktueller Query sieht wie folgt aus, mit welchen Befehl muss ich dieses Erweiterung um ans Ziel zu gelangen:
Frage 2)
Ich möchte die Anzahl der Buchungen (Gruppiert nach Produkt) ausgeben die im aktuellen Jahr (2015) angefallen sind. In diesem Beispiel Produkt 1 = 2x, Produkt 4 = 1x. Mein aktueller Query sieht wie folgt aus, mit welchen Befehl muss ich dieses Erweiterung um ans Ziel zu gelangen:
hoffentlich ist der Titel nicht zu kompliziert gewählt, leider ist mir kein besserer eingefallen. Ich habe zwei Frage und komme zu keiner Lösung

SQL:
Tabelle Buchung
ProduktID Datum Bezeichnung
1 1421746163 Buchung 1
1 1421746171 Buchung 2
4 1421747452 Buchung 3
Tabelle Produkt
ID KategorieID Bezeichnung
1 1 Produkt 1
2 1 Produkt 2
3 2 Produkt 3
4 2 Produkt 4
Tabelle Kategorie
ID Bezeichnung
1 Kategorie 1
2 Kategorie 1
Frage 1)
Ich möchte gerne Produkte aus der Tabelle "Produkt" ausgeben, jedoch nur wenn die Produkt-ID nicht in der Tabelle "Buchung --> ProduktID" vermerkt ist. In diesem Beispiel sollte nur Produkt 2 und Produkt 3 aufgelistet werden. Mein aktueller Query sieht wie folgt aus, mit welchen Befehl muss ich dieses Erweiterung um ans Ziel zu gelangen:
PHP:
$sql = 'SELECT
p.Bezeichnung,
b.Bezeichnung
FROM
Produkt AS p
INNER JOIN
Buchung AS b ON b.ProduktID = p.ID
WHERE
CONCAT(p.Bezeichnung, b.Bezeichnung) LIKE ?
ORDER BY p.Bezeichnung ASC';
if($stmt = $db->prepare($sql)) {
$stmt->bind_param('s', $suche);
$stmt->execute();
$stmt->bind_result($produkt_bezeichnung, $buchung_bezeichnung);
$stmt->store_result();
$result = $stmt->num_rows;
while($stmt->fetch()) {
...
}
$stmt->close();
}
Frage 2)
Ich möchte die Anzahl der Buchungen (Gruppiert nach Produkt) ausgeben die im aktuellen Jahr (2015) angefallen sind. In diesem Beispiel Produkt 1 = 2x, Produkt 4 = 1x. Mein aktueller Query sieht wie folgt aus, mit welchen Befehl muss ich dieses Erweiterung um ans Ziel zu gelangen:
PHP:
$sql = 'SELECT
b.Bezeichnung,
p.Bezeichnung,
k.Bezeichnung
FROM
Buchung AS b
INNER JOIN
Produkt AS p ON b.ProduktID = p.ID
INNER JOIN
Kategorie AS k ON p.KategorieID = k.ID
WHERE
CONCAT(b.Bezeichnung, p.Bezeichnung, k.Bezeichnung) LIKE ?
ORDER BY p.Bezeichnung ASC';
if($stmt = $db->prepare($sql)) {
$stmt->bind_param('s', $suche);
$stmt->execute();
$stmt->bind_result($buchung_bezeichnung, $produkt_bezeichnung, $kategorie_bezeichnung);
$stmt->store_result();
$result = $stmt->num_rows;
while($stmt->fetch()) {
...
}
$stmt->close();
}