Nö, kriege ich nicht hin:
Ich bekomme zwar nun eine Summer aller Vorträge, auch wenn noch nie gehalten, aber die Auflistung, in welchem Jahr wie oft, daran scheitere ich schon wieder. Das mit den Joins bringt mich durcheinander:
Ich brauche zuerst eine Auflistung aller Vorträge, dann die Auswertung, wie oft in einem Jahr gehalten.
Diese Syntax bringt falsche Werte:
Code: Alles auswählen
SELECT "b"."Vortrag", "a"."Thema",
SUM( ( SELECT COUNT( * ) FROM "Vortragsthemen" as "a" LEFT JOIN "Vortragsplan" as "b" ON "a"."Nummer" = "b"."Vortrag" WHERE "ID" = "b"."ID" AND YEAR( "Datum" ) = 2009 ) ) AS "2009",
SUM( ( SELECT COUNT( * ) FROM "Vortragsthemen" as "a" LEFT JOIN "Vortragsplan" as "b" ON "a"."Nummer" = "b"."Vortrag" WHERE "ID" = "b"."ID" AND YEAR( "Datum" ) = 2010 ) ) AS "2010",
SUM( ( SELECT COUNT( * ) FROM "Vortragsthemen" as "a" LEFT JOIN "Vortragsplan" as "b" ON "a"."Nummer" = "b"."Vortrag" WHERE "ID" = "b"."ID" AND YEAR( "Datum" ) = 2011 ) ) AS "2011",
SUM( ( SELECT COUNT( * ) FROM "Vortragsthemen" as "a" LEFT JOIN "Vortragsplan" as "b" ON "a"."Nummer" = "b"."Vortrag" WHERE "ID" = "b"."ID" AND YEAR( "Datum" ) = 2012 ) ) AS "2012"
FROM "Vortragsthemen" as "a" LEFT JOIN "Vortragsplan" as "b" ON "a"."Nummer" = "b"."Vortrag"
GROUP BY "b"."Vortrag", "a"."Thema"
ORDER BY "b"."Vortrag" ASC