Ilja: Problemerweiterung bei Abfrageproblem ...

Beitrag lesen

moin,

auch wenn du eventuell nichts dafür kannst und vor allem es nicht ändern kannst, dein datendesign ist "unvorteilhaft", um es mal milde auszudrücken. das riecht ein wenig nach steinzeit.

Wie muß nun meine Abfrage lauten, damit ich als Ergebniss der neu verteilten Gesamtpunkte die Summe 125 erhalte?

am besten benutzt du dafür den UNION ALL Mengenoperator, sprich du hast zwei abfragen, eine für Tabelle A und eine für Tabelle B, die du dann zusammen fügst und die Summe darüber bildest.

SELECT SUM(z.Anzahl) Meine_Summe
FROM (SELECT (LENGTH(a.spieler) - LENGTH(REPLACE(a.spieler, ',', '')) +1) * t.Punkte Anzahl
      FROM Tabelle t
      INNER JOIN spiel_A a ON a.spielID = t.spielID
      WHERE t.tabellenverweis = 'A'
      UNION ALL
      SELECT (LENGTH(b.spieler) - LENGTH(REPLACE(b.spieler, ',', '')) +1) * t.Punkte
      FROM Tabelle t
      INNER JOIN spiel_B b ON b.spielID = t.spielID
      WHERE t.tabellenverweis = 'B'
     ) z
;

das würde ich jetzt als am übersichtlichsten ansehen. es gibt noch andere möglichkeiten mit einer unterabfrage oder aber joins. aber dann wird nicht ganz klar, was du damit machen willst.

Ilja