SqlServer 1 对 N 关系 重复 留空 示例

select 
 ( case when SortNo = 1 then Hawb else '' end) Hawb
,( case when SortNo = 1 then Convert(varchar(50), LogisticStatus) else '' end) LogisticStatus
, ProductCode,GoodsNameEn,SortNo
 from 
(
    select t1.Hawb,t1.LogisticStatus,t2.ProductCode,t2.GoodsNameEn,
    ROW_NUMBER()OVER(PARTITION BY t1.Hawb  ORDER BY t2.ProductCode) SortNo
     from 
    ( SELECT Hawb,LogisticStatus FROM HawbHead  WHERE Hawb IN  ('WSEJA00943541','WSEJA00936751','WSEJA00942885','WSEJA00938700','WSEJA00876934','WSEJA00946842','WSEJA00946411','WSEJA00945534','WSEJA00945416','WSEJA00945302','WSEJA00945000','WSEJA00932875') )
    t1 
    join 
    (SELECT Hawb,ProductCode,GoodsNameEn FROM HawbBody WHERE Hawb IN  ('WSEJA00943541','WSEJA00936751','WSEJA00942885','WSEJA00938700','WSEJA00876934','WSEJA00946842','WSEJA00946411','WSEJA00945534','WSEJA00945416','WSEJA00945302','WSEJA00945000','WSEJA00932875'))
    t2 on t1.Hawb = t2.Hawb
) Result

猜你喜欢

转载自blog.csdn.net/CsethCRM/article/details/102680158