Hallo!
Erstmal vielen Dank Martin!
Es gibt den FK in der Tabelle natürlich nicht, wenn kein Datensatz vorhanden ist. Aber das Feld FK ist in allen Tabellen vorgesehen.
Bei der Datenbank handelt es sich um eine Art Immobilienverwaltung. Es gibt die Tabelle Wohnung (PK idWhg) und mehrere Untertabellen mit den verschiedenen Raumkategorien (Küche, Bad, Aussenanlagen usw.) jeweils mit FK fidWhg und m2. Für alle Räume der Wohnung möchte ich die Summe der m2. Zu manchen Wohnungen gibt es z.B. keinen Balkon (=Aussenanlage). Dann funktioniert die Summenbildung nicht, weil er dann alle Daten zu dieser fidWhg rausschmeisst. Mit VBA könnte ich das zwar hinbekommen, nur mag mein Chef kein VBA. Er möchte das über eine SQL Abfrage, damit es auch für VB-Ahnungslose später nachvollziehbar ist.
Kann nich nicht irgendwie sagen WHERE fidWhg NOT da:smile:, nimm null als Summand?
Gruss
Nadja
Wenn dir das hilft, hier die bisherige SQL-Abfrage. Sorry, ist etwas lang:
SELECT tdatWhg.idWhgMutation, tdatKueche.dtM2 AS dtM2Kueche, qNasszellenAnzahlSummeM2undRE.cptSummeM2 AS cptSummeM2Nasszellen, qWohnraumAnzahlSummeM2undRE.cptSummeM2 AS cptSummeM2Wohnraum, qAussenAnzahlSummeM2undRE.cptSummeM2 AS cptSummeM2Aussen, qSonstRaumAnzahlSummeM2undRE.cptSummeM2 AS cptSummeM2SonstRaum, [tdatKueche]![dtM2]+[qNasszellenAnzahlSummeM2undRE]![cptSummeM2]+[qWohnraumAnzahlSummeM2undRE]![cptSummeM2]+[qAussenAnzahlSummeM2undRE]![cptSummeM2]+[qSonstRaumAnzahlSummeM2undRE]![cptSummeM2] AS cptWhgSummeM2
FROM tdatKueche INNER JOIN ((((tdatWhg INNER JOIN qNasszellenAnzahlSummeM2undRE ON tdatWhg.idWhgMutation = qNasszellenAnzahlSummeM2undRE.idWhgMutation) INNER JOIN qWohnraumAnzahlSummeM2undRE ON tdatWhg.idWhgMutation = qWohnraumAnzahlSummeM2undRE.idWhgMutation) INNER JOIN qAussenAnzahlSummeM2undRE ON tdatWhg.idWhgMutation = qAussenAnzahlSummeM2undRE.idWhgMutation) INNER JOIN qSonstRaumAnzahlSummeM2undRE ON tdatWhg.idWhgMutation = qSonstRaumAnzahlSummeM2undRE.idWhgMutation) ON tdatKueche.fidWhgMutation = tdatWhg.idWhgMutation;