表:DataTable1
ID SKU QTY
-----------------------
1 AAAA 1
2 BBBB 1
3 CCCC 1
4 CCCC 1
表:DataTable2
ID assign_id SKU
-----------------------------
123 99 AAAA
124 99 CCCC
有没有办法得到这样的结果?
提前谢谢。
ID SKU QTY AssignID
-----------------------------------
1 AAAA 1 99
2 BBBB 1 NULL
3 CCCC 1 99
4 CCCC 1 NULL
答案 0 :(得分:0)
不确定,但可能这就是你需要的
with DataTable1(ID , SKU , QTY ) as(
select 1 ,'AAAA', 1 union all
select 2 ,'BBBB', 1 union all
select 3 ,'CCCC', 1 union all
select 4 ,'CCCC', 1
),
DataTable2(ID , assign_id , SKU) as (
select 123, 99 ,'AAA' union all
select 124 , 99 ,'CCC'
)
select t.ID, t.SKU, t.QTY, case when rn = 1 then assign_id else null end as assign_id
from (
select DataTable1.*, DataTable2.assign_id, row_number() over(partition by DataTable1.SKU order by DataTable1.ID) as rn
from DataTable1
left join DataTable2
on DataTable1.SKU like concat(DataTable2.SKU, '%')
) t