Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Group by

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von alengel, 3 September 2012.

  1. alengel

    alengel Neuer Benutzer

    Hallo,
    erstmal meine Ausgangstabelle:

    Kundennummer | Name | .........
    ------------------------------------------
    000000000001 | test
    000000000001 | test AG
    000000000001 | test AG Bayern
    000000000001 | test
    usw.
    000000000002 | Firma
    000000000002 | Firma GmbH

    Mein Problem:
    Ich will alle Kundennummern nur ein einziges mal (also logischerweise am Ende ein GROUP BY Kundennummer), aber was mach ich mit dem Kundennamen? Imprinzip ist es volkommen egal, welchen Namen ich bei der Abfrage rausbekomme. Hauptsache ich hab am Ende:

    Kundennummer | Name
    -----------------------------------------
    000000000001 | test AG (kann auch jeder andere Name sein, der in der Tabelle steht)
    000000000002 | Firma

    Ich hab schon stundenlang im Internet gesucht, könnt ihr mir da weiterhelfen?

    Grüße Alex
     
  2. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    Hy,

    hier ein kleiner Lösungsvorschlag:

    Code:
     
    select distinct
              k.Kundenummer
             ,( select TOP 1 ksub.name from Kunden ksub where ksub.Kundennummer = k.Kundennummer )
     
       from Kunden k
     
    
    Lg
     
    ukulele gefällt das.
  3. Tommi

    Tommi Datenbank-Guru

    Hi,

    das geht natürlich auch mit GROUP BY (was auch Performanter ist als ein Sub-Select):

    SELECT k.kundennummer,
    MAX(K.Name) as Kundenname
    FROM Kunden K
    GROUP BY K.Kundennummer


    Wenn du einen speziellen Kundennamen benötigste (z.B. den ersten, der auftaucht), dann wird etwas schwieriger.
    Dann geht es nur mit Unterabfrage. Diese Abfrage ermittelt den höchsten Wert im Feld Name. Sortierung erfolgt hier nach Reihenfolge von ASCII.
    Funktioniert natürlich auch mit MIN().


    Viele Grüße,
    Tommi
     
    ukulele gefällt das.
  4. alengel

    alengel Neuer Benutzer

    Vielen Danke funktioniert !
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden