cement
Goto Top

Problem bei SQL-Abfrage

Moin Leute,

ich habe im Access eine Tabelle, mit einer Spalte "Auftragsnummer" und einer Spalte "Auftragsname" (sowie viele weitere Spalten).

Wie muß wohl die Syntax für eine SQL-Abfrage lauten, damit jede Auftragsnummer nur einmal in der Liste auftaucht?

Daneben soll dann natürlich der Auftragsname auftauchen.

Eine Kleinigkeit noch mehr:
Die Tabelle wurde "per Hand" erstellt. Somit kann es sein, dass im Auftragsnamen z.B. mal "Hauptstraße 1" oder "Hauptstr. 1" steht.

Trotzdem soll die "Auftragsnummer" nur einmal aufgelistet werden.
Daneben könnte dann z.B. der Auftragsname stehen, der als erstes gefunden wurde.

Das ist doch für einen SQL-Spezi bestimmt kein Problem, oder?
Leider versagen hier meine (äußerst bescheidenen) SQL-Syntax-Kenntnisse.

Würde mich freuen, wenn mir jemand dabei helfen könnte.

Danke schon mal, Gruß

CeMeNt

Content-Key: 125949

Url: https://administrator.de/contentid/125949

Printed on: April 24, 2024 at 23:04 o'clock

Member: SlainteMhath
SlainteMhath Sep 28, 2009 at 12:07:19 (UTC)
Goto Top
Moin,

SELECT Auftragsnummer, MAX(Auftragsname) 
FROM Auftraege 
GROUP BY Auftragsnummer

lg face-smile
Slainte
Mitglied: 76109
76109 Sep 28, 2009 at 12:16:53 (UTC)
Goto Top
Hallo zusammen!

Sollte mit Distinct (keine Duplikate) gehen:
Select Distinct Auftragsnummer, Autragsname From

Gruß Dieter
Member: Arano
Arano Sep 28, 2009 at 12:49:38 (UTC)
Goto Top
Tag

würde ein
Select Distinct Auftragsnummer, Autragsname From 
nicht aber auch
Nummer Name
1235 Hauptstraße
1235 Hauptstr.
zurückgeben ?
Die Nummern sind zwar gleich, aber beim Namen besteht ein Unterschied.
Er wollte die Nummer ja auch nur einmal in der Ergebnistabelle haben.


~Arano
Member: CeMeNt
CeMeNt Sep 28, 2009 at 12:53:12 (UTC)
Goto Top
Moin Leute,

vielen Dank!

Hatte SlainteMhaths Vorschlag sofort getestet und gesehen, dass das genau die Lösung war, die ich gesucht hatte.

@Dieter:
Danke, Deine Lösung funktioniert sicherlich auch bestens.
Vielleicht teste ich das später noch einmal.

Außerdem habe ich gerade festgestellt, dass ich dafür ja gar keine SQL-Abfrage brauche:

- Zwei Felder auswählen
- "Funktionen" aktivieren
- Auftragsnummer = Gruppieren
- Auftragsname = MAX

ergibt so ziemlich den Code von Slainte:

SELECT Auftraege.[Auftrags-Nr], Max(Auftraege.Auftragsname) AS [Max von Auftragsname]
FROM Auftraege
GROUP BY Auftraege.[Auftrags-Nr];

Danke,
Gruß
CeMeNt
Mitglied: 76109
76109 Sep 28, 2009 at 12:56:47 (UTC)
Goto Top
Hallo Arano!

Du hast Recht das funktioniert leider nichtface-smile

Gruß Dieter