Du gehst mit
SELECT
Projekt_Firma_Firma_ID,
count(Projekt_Firma_Firma_ID) as Anzahl
FROM
Projekt_Firma
GROUP BY
Projekt_Firma_Firma_ID
HAVING
(COUNT(Projekt_Firma_Firma_ID) > 1)
auf die "n:m"-Tabelle um herauszufinden, welche Firmen mehr als ein Projekt haben. Vorausgesetzt wird dabei die EIndeutigkeit der Beziehung, also dass Projekte und Firmen nicht doppelt miteinander verknüpft sind und es nur so aussieht, als ob eine Firma mehr als ein Projekt hat.
Darum vielleicht besser (wir kennen ja nicht die Datenqualität ;):
SELECT
Projekt_Firma_Firma_ID,
count(Projekt_Firma_Firma_ID) as Anzahl
FROM
(
SELECT DISTINCT
Projekt_Firma_Firma_ID,
Projekt_Firma_Projekt_ID
FROM
Projekt_Firma
)
GROUP BY
Projekt_Firma_Firma_ID
HAVING
(COUNT(Projekt_Firma_Firma_ID) > 1)
Jetzt haben wir die Firma_ID(s), die wir referenzieren können in der Hauptabfrage:
SELECT
Firma_ID,
Firma_Name -- u.s.w.
FROM
Firma
WHERE
(
Firma_ID in
(
SELECT
Projekt_Firma_Firma_ID
FROM
(
SELECT DISTINCT
Projekt_Firma_Firma_ID,
Projekt_Firma_Projekt_ID
FROM
Projekt_Firma
)
GROUP BY
Projekt_Firma_Firma_ID
HAVING
(COUNT(Projekt_Firma_Firma_ID) > 1)
)
)