Daniela Koller: (mysql) Abfrage mit berechneten Werten

Beitrag lesen

Hi Susanne

Deine Query sähe also so aus: Select c.cassName, c.cassLaenge, (c.cassLaenge - sum(a.laenge)) as restzeit
                               Group By c.cassName, c.cassLaenge
                               Having restzeit > was du willst

Sorry, natürlich muss dein from und where nochmal rein und das group by
hattest du ja schon, habs übersehen.

Also so:

select c.cassName, c.cassLaenge, (c.cassLaenge - sum(a.laenge)) as restzeit
  FROM aufnahme a, cass c
  WHERE c.cassID = a.cassID
  Group By c.cassName, c.cassLaenge
  Having restzeit > was du willst
  order by restzeit desc

Bei älteren MySQL Versionen solltest du das noch zu nem
inner join optimieren weil die das sonst sehr aufwändig
ausführen. Bei den neuen Versionen ist das jedoch behoben.

Das sähe so aus:

select c.cassName, c.cassLaenge, (c.cassLaenge - sum(a.laenge)) as restzeit
  FROM aufnahme a
       INNER JOIN cass c ON (c.cassID = a.cassID)
  Group By c.cassName, c.cassLaenge
  Having restzeit > was du willst
  order by restzeit desc

Gruss Daniela