Rolf B: Wie könnte ich folgendes umsetzen?

Beitrag lesen

Hallo Bernd,

Die Artikel-ID 'a196f40a4bdb40c6551a41cdd3910d53' würde nun für "Biertisch" stehen? Oder für "Biertisch Nr. 7"?

Das hast Du nicht direkt beantwortet, aber daraus

Die Biertische sind nicht nochmals unterteilt,

lese ich, dass die Artikel-ID den Artikel-Typ "Biertisch" bezeichnet und nicht den einzelnen Tisch. Ok.

Und ich nehme an, es gibt eine Tabelle "Artikel", in der steht, dass Du 6 Biertische hast. Aber ich habe dich so verstanden, dass die kaputten Tische in einer separaten Tabelle gezählt werden?

In dem Fall müsstest Du tatsächlich eine Abfrage über die Tage machen, und prüfen, ob es darunter Tage gibt wo zu wenig da ist. Dafür kann man HAVING verwenden. Das ist sozusagen ein WHERE, der auf das GROUP BY Ergebnis wirkt.

SELECT aa_datum, COUNT(*)
FROM artikel_ausgeliehen
WHERE aa_status=2 
  AND aa_artikelID=? 
  AND aa_datum BETWEEN ? AND ?
GROUP BY  `aa_datum` 
HAVING COUNT(*) < ?

Für das vierte Fragezeichen übergibst Du die benötigte Anzahl im Zeitraum, und bekommst eine Liste der Tage, wo zu wenig da ist. Ist das Ergebnis leer, hast Du an jedem Tag genug da. Wie Du das nun sinnvoll mit der Liste der defekten Artikel zusammendrehst, weiß ich nicht. Vermutlich hängt das auch davon ab, wie der Arbeitsprozess aussehen soll.

Rolf

--
sumpsi - posui - clusi