sql - How to make a new column based on values in new and old table in Oracle -



sql - How to make a new column based on values in new and old table in Oracle -

given below construction of data

name country s republic of india d ind c afric r africa f ind v republic of india

there many mistakes in country column. below table containing identified mistakes

old value new value source column ind republic of india avox country afric africa avox country

i need next table contains right value of country

name country new_column s republic of india republic of india d ind republic of india c afric africa r africa africa f ind republic of india v republic of india republic of india

given below command using. snapsshot of data. info big

merge l03_a_avox_data_test n using ( select old_value , new_value transformation_data_all column_identifier='country' , source_identifier='avox' ) o on (n.country = o.old_value) when matched n.new_column = o.new_value;

use decode function update wrong column values. or, create more explicit , readable, utilize case construct.

using decode

decode(column, 'ind', 'india', 'afric', 'africa')

using case

case when column = 'ind' 'india' when column = 'afric' 'africa' end

so, update statement like,

update table_name set country_name = <the decode or case look explained above> country_name in(country names list);

sql oracle

Comments

Popular posts from this blog

formatting - SAS SQL Datepart function returning odd values -

c++ - Apple Mach-O Linker Error(Duplicate Symbols For Architecture armv7) -

php - Yii 2: Unable to find a class into the extension 'yii2-admin' -