wenn where-klausel false, dann nehme nächstes attribut

Daniel485

Benutzer
Beiträge
7
Hallo zusammen!
ich habe ein kleins sql-problem und hoffe, das ihr mir helfen könnt.
Das vorhandene SQL-Statement sieht so aus:
select*
from
abc.Tabelle
where
Eigenschaft1 = 'UE1'
Möglicher Inhalt Eigenschaft1: UE1, UE2, UE3
Auszug der Tabelle ohne Where-KLausel:
Name Eigenschaft1 Wert
Müller UE1 234
Müller UE2 2234
Müller UE3 534
Maier UE2 275
Maier UE3 12
SchmidtUE1 298
SchmidtUE3 55
Greift die Where Klausel oben dann, sieht die Ausgabe so aus:
Name Eigenschaft1 Wert
Müller UE1 234
SchmidtUE1 298
Es fehlt der Name Maier.
Kann ich die where klausel so umstellen, das es eine art wasserfall-effekt ist? d.h.
wenn die eigenschaft1 nciht vorhanden ist für einen bestimmten datensatz, dann nehme die nächste Eigenschaft1 und zeige es an. Die Tabelle würde dann so aussehen:
Name Eigenschaft1 Wert
Müller UE1 234
Maier UE2 275
SchmidtUE1 298
hoffe ihr könnt mir helfen!!
danke!!
 
Werbung:
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.702
Ich glaube er meint etwas anderes und möchte zu jedem Namen den "niedrigsten" Datensatz anzeigen. Hier mein Vorschlag:
Code:
SELECT    t1.Name,
        t1.Eigenschaft1,
        t1.Wert
FROM    Tabelle t1
WHERE    t1.Eigenschaft1 = (    SELECT    TOP 1 t2.Eigenschaft1
                            FROM    Tabelle t2
                            WHERE    t2.Name = t1.Name
                            ORDER BY t2.Eigenschaft1 )
 
Oben