Sample Data in Yellow the desired output
只需要你的专业帮助。
我需要根据T-SQL获取输出。每当invoice_line_id_link
为0时,如果不查看product_id
列,请设置id
值并获取该行的product_id
。
这是剧本。
declare @t table
(id int, invoice_id int, product_id int, invoice_line_id_link int);
insert into @t values
(53,10,383,0),
(54,10,344,53),
(55,10,920,53),
(57,10,384,0),
(58,10,359,57),
(59,10,242,57),
(60,10,284,0);
select id, invoice_id, product_id,invoice_line_id_link, null desiredoutput from @t
答案 0 :(得分:0)
根据您提供的图像,这里是产生所需输出的代码片段。
表填充
declare @t table (id int, invoice_id int, product_id int, invoice_line_id_link int);
insert into @t values (53,10,383,0), (54,10,344,53), (55,10,920,53), (57,10,384,0), (58,10,359,57), (59,10,242,57), (60,10,284,0);
输出代码
select *,CASE WHEN invoice_line_id_link = 0 THEN product_id
ELSE (select t1.product_id from @t t1 where t1.id = t2.invoice_line_id_link)
END from @t t2
输出
id invoice_id product_id invoice_line_id_link desiredoutput
53 10 383 0 383
54 10 344 53 383
55 10 920 53 383
57 10 384 0 384
58 10 359 57 384
59 10 242 57 384
60 10 284 0 284
*/