Abfrage-Problem, Hilfe!

28/04/2008 - 11:41 von Attila Krick | Report spam
Hi NG,

ich verweifeln noch und komme nicht weiter, wieleicht könnt ihr mir helfen?

Gegeben ist:
- Tabelle p=Personen (ID, Name)
- Tabelle a=Arbeitgeber (ID, Firma)
- Tabelle av=Arbeitsverhàltnisse (ID, PersonID, FirmaID, Eintrittsdatum)

Diese Tabellen stehen mit einer n:m Beziehung zueinander:
p - 1:n - av - n:1 a

Eine Person kann im lauf der Zeit den Arbeitgeber wechseln aber wo er
vorher war soll dokumentiert werden was durch die Tabelle av geschieht.

Jetzt möchte ich EINE Übersicht haben die mir alle Personen nur einmal
anzeigt und zusàtzlich den letzten Arbeitgeber sowei das Eintrittsdatum.

Mit dieser Unterabfrage komme ich nicht weiter, weill ich FirmaID und
Eintrittsdatum nicht mit einbeziehen kann:

SELECT PersonenID, MAX(Eintrittsdatum) AS x
FROM Arbeitsverhàltnisse
GROUP BY PersonenID

Wie kann ich das lösen?

Grüße

Attila
 

Lesen sie die antworten

#1 Uli Münch
28/04/2008 - 12:51 | Warnen spam
Hallo Attila,

ich weis nicht wie andere das sehen, wenn Du dies öfter benötigst würde ich
mir hier eine Funktion erfinden.
Auf die Schnelle sollte es so gehen

SELECT name,
(SELECT TOP 1 Eintrittsdatum FROM av WHERE av.ID=p.ID ORDER BY
Eintrittsdatum DESC) AS 'eintrittsdatum',
(SELECT TOP 1 FirmaID FROM av WHERE av.ID=p.ID ORDER BY Eintrittsdatum DESC)
AS 'FirmaID'
FROM p


Beispiel ungetestet, sollte aber funktionieren.


mfG Uli



"Attila Krick" schrieb im Newsbeitrag
news:d55nbjt16xh9$.1kelsmn3n693z$
Hi NG,

ich verweifeln noch und komme nicht weiter, wieleicht könnt ihr mir
helfen?

Gegeben ist:
- Tabelle p=Personen (ID, Name)
- Tabelle a=Arbeitgeber (ID, Firma)
- Tabelle av=Arbeitsverhàltnisse (ID, PersonID, FirmaID, Eintrittsdatum)

Diese Tabellen stehen mit einer n:m Beziehung zueinander:
p - 1:n - av - n:1 a

Eine Person kann im lauf der Zeit den Arbeitgeber wechseln aber wo er
vorher war soll dokumentiert werden was durch die Tabelle av geschieht.

Jetzt möchte ich EINE Übersicht haben die mir alle Personen nur einmal
anzeigt und zusàtzlich den letzten Arbeitgeber sowei das Eintrittsdatum.

Mit dieser Unterabfrage komme ich nicht weiter, weill ich FirmaID und
Eintrittsdatum nicht mit einbeziehen kann:

SELECT PersonenID, MAX(Eintrittsdatum) AS x
FROM Arbeitsverhàltnisse
GROUP BY PersonenID

Wie kann ich das lösen?

Grüße

Attila

Ähnliche fragen