MS-SQL: Aus 2 Tabellen, eine Ergebniss Tabelle erzeugen
Andreas
- datenbank
0 Stephan Huber
Guten Tag,
also, mein Problem sieht folgendermaßen aus:
Ich habe 2 Tabellen.
1. Tabelle:
FID, Firma, Ort, ...
2. Tabelle:
FID, Personenname, Alter, Leiter, ...
nun möchte ich aus diesen beiden Tabellen EINE Ergebnistabelle machen. In der 1. Tabellen stehen immer die Firmen und in der 2. Tabelle die Ansprechpartner, WOBEI die Ansprechpartner beliebig viele sein können.
In dieser Ergebnismenge, soll er mir für jeden Ansprechpartner immer auch die Daten aus der Firmentabelle schreiben, wobei die Verknüpfung über FID geht.
ein Ergebnis soll zB sein:
Hans Mayr, 41 Jahre, Geschäftsführer, Kiss AG, 12234 Nowhere, Teststr. 24, ...
Fritz Müller, 33 Jahre, Prokurist, Kiss AG, 12234 Nowhere, Teststr. 24, ...
usw.
Ich hoffe ich habe mich ein wenig klar ausgedrückt, aber ich hab so NULL Ahnung wie das gehen kann/soll.
lg,
Andreas
Hi Andreas,
ungefähr so:
select firma, ort, personenname from ansprechpartner left join firmen on ansprechpartner.fid=firmen.fid
Viele Grüße
Stephan
select firma, ort, personenname from ansprechpartner left join firmen on ansprechpartner.fid=firmen.fid
Hallo Stephan!
Vielen Dank. So gehts, jetzt hätte ich noch was gebraucht und zwar das ganz limitiert auf 3 max. 3 Ergebnisse, dh. ich müsste in meinem Fall ein TOP 3 reinbringen (my-sql= limit).
Geht das auch noch? Habs einfach probiert, geht leider nicht (Falsche Syntax in der Nähe von FROM) :-(
Gruß,
Andreas
Hallo Andreas!
Vielen Dank. So gehts, jetzt hätte ich noch was gebraucht und zwar das ganz limitiert auf 3 max. 3 Ergebnisse, dh. ich müsste in meinem Fall ein TOP 3 reinbringen (my-sql= limit).
Geht das auch noch?
Ja: select top 3 firma, ort, personenname from ansprechpartner left join firmen on ansprechpartner.fid=firmen.fid
Viele Grüsse
Alex
Ja: select top 3 firma, ort, personenname from ansprechpartner left join firmen on ansprechpartner.fid=firmen.fid
Sorry, ich glaub ich hab mich falsch ausgedrückt, ich möchte PRO Firma dann nur zB 3 Ansprechpartner. So bekomme ich nur die ersten 3 Ergebnisse zurück.
Gruß,
Andreas
Hi Andreas,
Ja: select top 3 firma, ort, personenname from ansprechpartner left join firmen on ansprechpartner.fid=firmen.fid
Sorry, ich glaub ich hab mich falsch ausgedrückt, ich möchte PRO Firma dann nur zB 3 Ansprechpartner. So bekomme ich nur die ersten 3 Ergebnisse zurück.
Leider habe ich keinen MS-SQL da (und auch nicht so sonderlich viel Übung damit), aber eigentlich sollte das irgendwie mit einem subselect gehen:
select firma, ort, personenname from firmen left join (select top3 fid, personenname from ansprechpartner where ansprechpartner.fid=firmen.fid) as ansprechpartnerlimit on ansprechpartnerlimit.fid=firmen.fid
Wie gesagt, auf die genaue Syntax lasse ich mich nicht festnageln ;-)
Viele Grüße
Stephan