Wert aus seiner Zeile in eine andere kopieren, wenn ID matches

Bentley

Neuer Benutzer
Beiträge
3
Moin,

ich möchte den Wert usr_kataloghierarchie die Zeilen kopieren, wenn ein anderer Wert (pm_extended_id) in der Ziel-Row mit der Quell-Row matched.

Details in den Screenshot.

Vielleicht kann mir ja jemand helfen.

Danke und beste GrüßeSQLQuery.jpg
Resultat soll dann so aussehen.
BentResults.jpg
 
Werbung:
vereinfach also so?

Code:
edb=# select * from bentley ;
  id   | value
-------+-------
 cm1   | foo
 cm1-1 |
 cm1-2 |
 cm2   | bar
 cm2-1 |
(5 rows)

edb=*# with x as (select id, value from bentley where value is not null) update bentley set value = x.value from x where bentley.id ~ x.id and bentley.value is null;
UPDATE 3
edb=*# select * from bentley ;
  id   | value
-------+-------
 cm1   | foo
 cm2   | bar
 cm1-1 | foo
 cm1-2 | foo
 cm2-1 | bar
(5 rows)

edb=*#
 
Werbung:
Ja stimmt, den MATCH-Operator gibt es so nicht.
with x as (select pm_extended_id, usr_kataloghierarchie from [dbo].[pm_process] where usr_kataloghierarchie is not null) update [dbo].[pm_process] set usr_kataloghierarchie = x.usr_kataloghierarchie from x where [dbo].[pm_process].pm_extended_id like x.pm_extended_id + '%' and [dbo].[pm_process].usr_kataloghierarchie is null;
Das hier hat geklappt!

Dank dir!!
 
Zurück
Oben