Это довольно простой пример того, когда использовать опережающие / запаздывающие значения - я предполагаю, что вам удалось импортировать это и сохранить правильный порядок (в будущем я предлагаю добавить номер строки при импорте - я смоделировал на данный момент):
- НАСТРОЙКА -
create table table1 (
SheetNumber varchar (255) null
, ID integer null
, Title varchar(255) null
, Reasonv varchar(255) null
, Description varchar (255) null
, Qty1 integer null
, UOM varchar(255) null
, UnitPrice varchar(255) null
, TotalPrice varchar(255) null
)
insert into table1 values(2,3165257,'Interior-Tr','ReplaceMissing','Descrption Line 1','30','LF','1.17','35.1')
insert into table1 values(2,NULL,'im',NULL,NULL,NULL,NULL,NULL,NULL)
insert into table1 values(2,3165252,'Demo-Dumpst','ReplaceMissing','Descrption Line 1','1','LS','478.26','478.26')
insert into table1 values(2,NULL,'er',NULL,'Descrption Line 2',NULL,NULL,NULL,NULL)
insert into table1 values(2,3165263,'Demo-Structure','ReplaceMissing','Descrption Line 1','1','LS','30','30')
insert into table1 values(2,3165267,'Paint-Inter','ReplaceMissing','Descrption Line 1','2592','SF','1.04','2695.68')
insert into table1 values(2,NULL,'ior',NULL,'Descrption Line 2',NULL,NULL,NULL,NULL)
insert into table1 values(2,NULL,NULL,NULL,'Descrption Line 3',NULL,NULL,NULL,NULL)
- РАМКА РЕШЕНИЯ -
select * from (
select
ID
, Title as old_title
, lead(Title) OVER (ORDER BY (SELECT 100)) as lead_title
, case
when (ID is null) then title
else concat(Title, lead(Title) OVER (ORDER BY (SELECT 100)))
end as combined_title
from table1) subQuery
where ID is not null