MudGuard: SQL und relationale Algebra

Beitrag lesen

Hi,

Für die zweite Abfrage hätte ich mit COUNT und HAVING gearbeitet. Die Anzahl der Gerichte, in denen eine Zutat vorkommt, mit der Anzahl der Gerichte insgesamt vergleichen.

Das setzt voraus, daß jede Zutat max. einmal pro Rezept verwendet wird.

Bei z.B. Torte ist das aber (oft) so, daß Zucker für den Teig benötigt wird und für die Creme.

Ich weiß, es ist gemein, wenn die Realität die Theorie kaputtmacht …

Man müßte zum Zählen der Zutaten erst nach der Gerichtsnummer gruppieren und dann die Zahl der Gruppen ermitteln. In etwa so:

select count(*) from (
    select count(*), znr, gnr from zutaten group by gnr, znr
);

cu,
Andreas a/k/a MudGuard