Ersten Eintrag einer geordneten Liste

3 replies [Letzter Beitrag]
slies
Offline
Joined: 20.12.2007
Beiträge:

Hallo Forum,

ich habe folgende Beispieltabelle:

Entry No | Artikel | Artikelgruppe | Kunde | Menge
1 Fahrrad Zweirad 100 10
2 Fahrrad Zweirad 100 12
3 Fahrrad Zweirad 100 14
4 Stuhl Möbel 100 16
5 Stuhl Möbel 100 18
6 Stuhl Möbel 100 20

so, das erst einmal als Beispieldaten. Ich möchte jetzt immer den ersten Eintrag innerhalb der Gruppen haben. Also in diesem Beispiel möchte ich, dass mein SQL die beiden Datensätze

1 Fahrrad Zweirad 100 10 (erster in der Gruppe Fahrrad, Zweirad und Kunde 100)
4 Stuhl Möbel 100 16 (erster in der Gruppe Stuhl, Möbel und Kunde 100)

zurückliefert. Geht so etwas mit einem SQL-Statement oder muss ich doch eher dazu übergehen und eine stored procedure programmieren? Sollte ich eine SP nutzen müssen, würde ich immer eine Zeile mit der vorhergehenden Vergleichen, um so zu prüfen ob eine Änderung vorliegt?
Hat hier jemand eine Idee? Würde mich über Hilfe sehr freuen.

Danke!!!!

Noch keine Bewertungen
admin
Offline
Joined: 19.12.2007
Beiträge:

Unter der Annahme das Entry No eindeutig ist, sollte folgendes funktionieren:
SELECT
*
FROM
dbo.Tabelle T1
JOIN
(SELECT
MIN([Entry No]) AS EntryNo
FROM
dbo.Tabelle
GROUP BY
Artikel, ArtikelGruppe, Kunde) T2 ON T1.[Entry No] = T2.EntryNo

Ansonsten müsste in der abgeleiteten Tabelle T2 die SELECT Liste angepasst und um die Key Spalten erweitert werden und die JOIN Bedingung auch angepasst werden.
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org

slies
Offline
Joined: 20.12.2007
Beiträge:

super, danke für die schnelle Antwort. Werde ich gleich einmal ausprobieren und dann feedback geben. Danke!

slies
Offline
Joined: 20.12.2007
Beiträge:

Hi admin,

ich weiß schon warum ich, wenn es nötig ist, hier poste ;) Hier bekommt man schnell und richtige Anworten. Ein Traum :) Funktioniert perfekt! Danke nochmal!