У меня есть таблица:
table1
unique_id col_id col_nm col_val sequ s_date e_date
1 1 test 1 100 1 null null
1 2 test 2 abc 1 null null
1 3 test 3 103 1 null null
1 4 test 4 105 2 null null
1 5 test 5 10 1 null null
1 6 my date 20180912 1 null null
1 7 my date 1 20180913 2 null null
1 8 test 6 100 1 null null
2 1 test 1 100 1 null null
2 2 test 2 abc 1 null null
2 3 test 3 103 1 null null
2 4 test 4 105 2 null null
2 5 test 5 10 1 null null
2 6 my date 20180911 1 null null
2 7 my date 1 20180910 2 null null
2 8 test 6 100 1 null null
Для каждого unique_id мне нужно получить col_val и установить s_date и e_date:
- s_date =col_val из col_id = 6 и col_nm = «моя дата» и последовательность = 1
- e_date = col_val из col_id = 7 и col_nm = «моя дата 1» и последовательность = 2
и затем установите его для всех строк соответствующего unique_id.
Выходная таблица выглядит следующим образом:
unique_id col_id col_nm col_val sequ s_date e_date
1 1 test 1 100 1 20180912 20180913
1 2 test 2 abc 1 20180912 20180913
1 3 test 3 103 1 20180912 20180913
1 4 test 4 105 2 20180912 20180913
1 5 test 5 10 1 20180912 20180913
1 6 my date 20180912 1 20180912 20180913
1 7 my date 1 20180913 2 20180912 20180913
1 8 test 6 100 1 20180912 20180913
2 1 test 1 100 1 20180911 20180910
2 2 test 2 abc 1 20180911 20180910
2 3 test 3 103 1 20180911 20180910
2 4 test 4 105 2 20180911 20180910
2 5 test 5 10 1 20180911 20180910
2 6 my date 20180911 1 20180911 20180910
2 7 my date 1 20180910 2 20180911 20180910
2 8 test 6 100 1 20180911 20180910
В моей таблице более 50 миллионов записей, поэтому необходимо принять во внимание запрос, чтобы принять это во внимание.
Есть ли в SQL способ достичь этого?