Hallo,
angenommen, ich habe eine Kunden-Tabelle und eine weitere Tabelle mit Ansprechpartnern zu den Kunden, verbunden über eine KundenNr. Nun möchte ich eine Auswertung aller Kunden haben, in der, wenn vorhanden, auch ein Ansprechpartner vermerkt ist. Dafür bietet sich wohl ein LEFT JOIN an; mein Problem jedoch: habe ich mehrere Ansprechpartner zu dem Kunden, erscheint auch der Kunde zweimal in der Auswertung. Das soll aber nicht sein, ich will einfach dann den ersten Ansprechpartner haben. Wie kriege ich das hin? Mir fällt nur folgendes ein:
SELECT kunden.*, (SELECT TOP 1 Name FROM Ansprechp WHERE kndnr = kunden.kndnr) AS AP_Name FROM kunden
Aber ich denke mal, das ist nicht sehr performant, geschweige denn der Aufwand, wenn man mehrere Felder aus der Ansprechp braucht. Wie macht man sowas cleverer?
Danke für Eure Tipps ...
Dave
angenommen, ich habe eine Kunden-Tabelle und eine weitere Tabelle mit Ansprechpartnern zu den Kunden, verbunden über eine KundenNr. Nun möchte ich eine Auswertung aller Kunden haben, in der, wenn vorhanden, auch ein Ansprechpartner vermerkt ist. Dafür bietet sich wohl ein LEFT JOIN an; mein Problem jedoch: habe ich mehrere Ansprechpartner zu dem Kunden, erscheint auch der Kunde zweimal in der Auswertung. Das soll aber nicht sein, ich will einfach dann den ersten Ansprechpartner haben. Wie kriege ich das hin? Mir fällt nur folgendes ein:
SELECT kunden.*, (SELECT TOP 1 Name FROM Ansprechp WHERE kndnr = kunden.kndnr) AS AP_Name FROM kunden
Aber ich denke mal, das ist nicht sehr performant, geschweige denn der Aufwand, wenn man mehrere Felder aus der Ansprechp braucht. Wie macht man sowas cleverer?
Danke für Eure Tipps ...
Dave
Comment