Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#2

Re: UPDATE mit count(*) aus zweiter tabelle

  Alt 22. Sep 2004, 01:25
So sollte ein Schuh draus werden:
SQL-Code:
UPDATE Fahrplan upt
SET upt.Anzahl = (SELECT COUNT(*)
                     FROM Kalender k
                     WHERE k.SaisonNr = upt.SaisNr)
SQL-Code:
UPDATE Fahrplan
SET Fahrplan.Anzahl =
  (SELECT COUNT(*) FROM Kalender as Kalender.aAnzahl /*-> Tabellenaliase dürfen nach AnsiSQL nicht mit AS deklariert werden.
                                                          Einen Punkt im Alias verkraftet SQL ganz sicher nicht ;) */

   WHERE (Fahrplan.SaisNr = Kalender.SaisonNr)
   GROUP BY Kalender.SaisonNr/* -> Die Zeile ist witzlos, da du exakt _EINE_ SaisonNr abfragst
                                  Gruppierungen sind so ziemlich das aufwendigste in SQL überhaupt, gleich nach SubQueries. :P
                                   Also nur Gruppieren wenn es nicht anders geht.*/
 )
p.s.: SaisonNr <-> SaisNr ... Warum nennst du nicht beide SaisonNr? Wäre doch in sich viel konsistenter.
p.p.s.: Ein DB'ler, der berechnete Felder in der DB hat, kommt nicht in den Himmel.
  Mit Zitat antworten Zitat