SELECT
Nr,
sum(Punkte)
FROM
(
(
SELECT
(COUNT() * 3) as Punkte,
a as Nr
FROM
haupttabelle
GROUP BY
Nr
)
UNION
(
SELECT
(COUNT() * 10) as Punkte,
b as Nr
FROM
haupttabelle
GROUP BY
Nr
) AS subselect
GROUP BY
Nr
ORDER BY
Nr
Da wir diesen schwierigen Patienten (gemeint ist die Anforderung) schon eine ganze Weile pflegen (relativ erfolglos ;), noch ein paar Anmerkungen aus unserem Gedächtnis zur Anforderungslage:
Du gehst - so meine Erinnerung - auf ein und dieselbe Tabelle um an Hand zweier Regeln Punkte zu vergeben, die addiert werden sollen und letztlich absteigend sortiert eine Rangliste ergeben sollen.
Deine hier vorgestellte Abfrage ist da schon ganz OK, Du bildest die Vereinigungsmenge aus den beiden Listen mit den "Gummipunkten" und fragst diese ab. Wichtig natürlich die korrekte Syntax. Diese bitte mit einem Dir hoffentlich z.V. stehenden Abfragetool testen und \_erst\_dann\_ bspw. in PHP implementieren.
Wenn wir uns nicht täuschen bist Du aber ganz nah an der Lösung.