加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL完全连接没有任何条件

发布时间:2020-12-12 06:55:11 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用MS SQL. 我有以下表格: table A: id1 data1 8234 ko 2 po 333 koo 40 wootable B: id2 data2 123 meow 654 frrrtable C: id3 data3 10 a 20 b 30 c 40 d 50 e 60 f 我想得到这个: id1 data1 id2 data2 id3 data3 8234 ko 123 meow 10 a 2 po 654
我正在使用MS SQL.
我有以下表格:
table A:
    id1   data1
    8234    ko
    2       po
    333     koo
    40      woo

table B:
    id2     data2
    123     meow
    654     frrr

table C:
    id3     data3
    10          a
    20          b
    30          c
    40          d
    50          e   
    60          f

我想得到这个:

id1     data1       id2     data2       id3     data3
    8234    ko          123      meow        10         a
    2       po          654      frrr        20         b
    333     koo         NULL     NULL        30         c
    40      woo         NULL     NULL        40         d
    NULL    NULL        NULL     NULL        50         e
    NULL    NULL        NULL     NULL        60         f

这似乎是没有任何条件的全部表格.我只是希望得到所有表中的所有列和所有数据.我怎么能这样做?
UPD:表格不相关.
如果表是相关的:当事先知道哪个表大于表时,我会使用LEFT或RIGHT JOIN.但它不得而知.

解决方法

使用row_number创建索引以用于完整连接
select * from (
    select 
        row_number() over (order by id1 asc) rn,id1,data1
    from ta
) t1    
full join (
    select 
        row_number() over (order by id2 asc) rn,id2,data2
    from tb
) t2 on t1.rn = t2.rn
full join (
    select 
        row_number() over (order by id3 asc) rn,id3,data3
    from tc
) t3 on t1.rn = t3.rn

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读