当一个组中有多个元素且每个元素都有唯一的值时,如何在SQL Server中重塑数据

当一个组中有多个元素且每个元素都有唯一的值时,如何在SQL Server中重塑数据,sql,sql-server,Sql,Sql Server,在我的数据集中,有主要账户持有人和与该账户相关的个人,每个人都有自己的账户信息编号和销售编号 select distinct cust.no_ as 'CUST1 number', cust.sales as 'CUST1 sales', cust2.no_ as 'CUST2 number', cust2.sales as 'CUST2 sales' from cust left join dmd on dmd.rowno_custdm

在我的数据集中,有主要账户持有人和与该账户相关的个人,每个人都有自己的账户信息编号和销售编号

select distinct 
    cust.no_ as 'CUST1 number', 
    cust.sales as 'CUST1 sales',
    cust2.no_ as 'CUST2 number', 
    cust2.sales as 'CUST2 sales'
from 
    cust
left join 
    dmd on dmd.rowno_custdmd_cust = cust.rowno
left join
    dmdjnt on dmdjnt.rowno_dmdjnt_dmd = dmd.rowno
left join
    cust as cust2 on cust2.rowno = dmdjnt.rowno_dmdjnt_cust2
输出:

CUST1 Number    CUST1 Sales Number  CUST2 Number    CUST2 Sales Number
1               111                 2               22
1               111                 3               333
1               111                 4               44
1               111                 5               55555
6               666                 NULL            NULL
7               777                 8               88
我尝试了以下方法,列出了所有的数字,但因为销售数字可能不是最高的,所以不起作用

select distinct 
    cust.no_ as 'CUST1 number',
    min(cust2.no_) as 'CUST2 number', 
    (case 
        when min(cust2.no_) <> max(cust2.no_) 
           then max(cust2.no_) 
     end) as 'CUST3 number'
from 
    cust
left join
    dmd on dmd.rowno_custdmd_cust = cust.rowno
left join
    dmdjnt on dmdjnt.rowno_dmdjnt_dmd = dmd.rowno
left join
    cust as cust2 on cust2.rowno = dmdjnt.rowno_dmdjnt_cust2
CUST1 Number    CUST1 Sales Number  CUST2 Number    CUST2 Sales Number  CUST3 Number    CUST3 Sales Number  CUST4 Number    CUST4 Sales Number  CUST5 Number    CUST5 Sales Number
1   111 2   22  3   333 4   44  5   55555
6   666 NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL
7   777 8   NULL    NULL    NULL    NULL    NULL    NULL    NULL