如何在SQLServer中联接表,以便每行联接一次

guicsvcw  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(377)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

11个月前关门了。
改进这个问题
我有两张表,如下所示:

我需要以某种方式加入他们来实现这个结果集:

你知道我该怎么做吗?

5gfr0r5j

5gfr0r5j1#

您可以使用 row_number() 以及 full join 结果是:

select 
    t1.prof, 
    t2.project, 
    coalesce(t1.date, t2.date) date,
    t1.amount amount1,
    t2.amount amount2
from (
    select 
        t1.*,
        row_number() over(partition by date order by prof) rn
    from table1 t1
) t1
full join (
    select 
        t2.*,
        row_number() over(partition by date order by project) rn
    from table2 t2
) t2 on t1.date = t2.date and t1.rn = t2.rn

相关问题