Forum: Datenbanken
by Jumpy,
5. Okt 2023
Stimmt, das war doppelt gemoppelt. Schadet zwar nicht und wird vielleicht sogar bei der Ausführung von der Datenbank wegoptimiert, aber die Optimierung klappt ja nicht immer oder braucht manchmal Hilfe, wie du an deinem ursprünglichen Statement, dass so lange dauert, gesehen hast.
Forum: Datenbanken
by Jumpy,
4. Okt 2023
Wie sieht's so aus?
Select K.*, A.TelefonNr, A.FaxNr
from Kunde k
Left join Basis B on B.KdNr=K.KdNr
Left Join Ansprechpartner A ON A.KdNr=B.KdNr AND A.ID=B.ID
Forum: Datenbanken
by Jumpy,
4. Okt 2023
Das Statement liefert ja pro Kunde nur einen Ansprechpartner und zwar den mit der neusten ID pro Kunde, und da es wahrsch. Kunden gibt, mit mehreren Ansprechpartnern, kommt halt von denen nur einer und somit kommen nicht alle Personen die in der Ansprechparnter Tabelle sind. Dachte das wär das Ziel.
Forum: Datenbanken
by Jumpy,
4. Okt 2023
WITH BASIS AS (
-- Kunden mit Standard-Ansprechpartner
Select KdNr, max(id) as id
from Ansprechpartner
Where Standard=true
Group By KdNr
UNION
-- Kunden ohne Standard-Ansperchpartner