2016-03-23 10 views
0

Ich brauche den Wert auszuwählen Basis für zB unter der Bedingung der Tabelle bilden:Wie die Werte auf id basiert duplizieren

Id name value status priority 
1 ram 23  p  high 
1 kev 23  p  Medi 
1 Mac 23  h  high 
2 Dot 25  f  low 
2 Dot 25  h  Avg 
3 Pat 25  f  low 
3 vin 25  u  low 

Wenn Sie sehen, wenn status = h die Priorität Spalte hoch geändert werden sollte auf der Basis der id-Spalte während der Auswahl

das Ergebnis Tabelle unten

Id name value status priority 
1 ram  23  p  high 
1 kev  23  p  high 
1 Mac  23  h  high 
2 Dot  25  f  high 
2 Dot  25  h  high 
3 Pat  25  f  low 
3 vin  25  u  low 

mir helfen

sein muss

Antwort

3

Wenn ich richtig verstehe, wollen Sie Fensterfunktionen mit etwas bedingter Logik:

select t.id, t.name, t.value, t.status, 
     (case when sum(case when status = 'h' then 1 else 0 end) over (partition by id) > 0 
      then 'high' 
      else priority 
     end) as priority 
from t; 
+0

ja, das man arbeitet mit meiner Logik und vielen Dank für Ihre schnelle Antwort – user2302158

Verwandte Themen