如何在不使用公共列的情况下使用SQL联接两个以上的表

年龄

例子:

表格1:

Col1           Col2
-----------    -------------
A                 1
B                 2
D                 3
E                 4

表2:

Col3           Col4
-----------    -------------
A                 7
E                 9
Z                 5

表3:

Col5           Col6
-----------       -------------
Y                 8

预期产量:

Col1    Col2    Col3    Col4    Col5     Col6
----    ----    ----    ----    ----     ----
A       1       A       7       Y        8
B       2       E       9       NULL    NULL
D       3       Z       5       NULL    NULL
E       4       NULL    NULL    NULL    NULL

我想要如图所示的输出。

如果有三个表的列分别为Col11,Col2和Col3,Col4和Col5和Col6,则预期输出应为Col1,Col2,Col3,Col4,Col5,Col6,而没有任何连接。它应该只是Table2在Table1的右侧,而Table3应该在Table2的右侧。如果行数不匹配,则Null值将占用空间。我知道两个表的解决方案。但是,需要n个表的SQL查询语法。-提前致谢。

啤酒酒精

尽管我不太明白为什么要这么做,但我还是尝试回答这个问题,作为我自己学习的一种练习!

感谢@ user2864740提出了使用ROW_NUMBER在每个表之间合成一个公共值的想法!

这是查询:

SELECT
  col1,
  col2,
  col3,
  col4,
  col5,
  col6
FROM
  (SELECT ROW_NUMBER() OVER(ORDER BY col1) AS Row,
  col1, col2
  FROM table1) T1

  FULL OUTER JOIN

  (SELECT ROW_NUMBER() OVER(ORDER BY col3) AS Row,
  col3, col4
  FROM table2) T2 ON T1.Row = T2.Row

  FULL OUTER JOIN

  (SELECT ROW_NUMBER() OVER(ORDER BY col5) AS Row,
  col5, col6
  FROM table3) T3 ON T1.Row = T3.Row

还有一个SQL Fiddle演示它:http ://sqlfiddle.com/#!3/6c2db/6

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不交叉的情况下合并两个左联接?

来自分类Dev

如何在不重复的情况下对两个不同的jQuery事件使用相同的代码?

来自分类Dev

如何在不使用列号的情况下对两个顺序标记的变量系列应用函数?

来自分类Dev

如何在不使用distinct和union的情况下在两个表之间返回唯一记录?

来自分类Dev

SQL如何在以下情况下联接两个表以获取记录?

来自分类Dev

如何在不使用.babelrc文件的情况下将两个预设参数传递给babel?

来自分类Dev

如何在不使用SVG的情况下使两个图像重叠

来自分类Dev

如何在不使用串联的情况下串联两个numpy ndarrays

来自分类Dev

如何在不使用Coredata的情况下使用swift在IOS的两个扩展之间共享变量值

来自分类Dev

如何在不添加和删除列的情况下合并两个表

来自分类Dev

如何在不使用for循环的情况下向量化这两个numpy操作?

来自分类Dev

如何在不带外键的情况下使用引用uf uid连接两个表

来自分类Dev

如何在不使用交互式git变基的情况下将两个git提交合并为一个提交?

来自分类Dev

如何在不使用zip的情况下遍历两个列表?

来自分类Dev

如何在不使用数组的情况下以替代方式将两个序列合并为一个序列?

来自分类Dev

如何在SQL中列不匹配的情况下联接两个表

来自分类Dev

如何在不使用第三个变量的情况下交换两个Perl变量?

来自分类Dev

如何在不使用类级别锁的情况下同步两个静态方法

来自分类Dev

如何在不使用固定宽度容器的情况下使用CSS将两列居中?

来自分类Dev

如何联接2个表并使用两个表中的公共列选择特定列

来自分类Dev

PostgreSQL:如何在不使用“列定义列表”的情况下从表返回动态行?

来自分类Dev

如何在不使用mysql的情况下使用表

来自分类Dev

如何在不使用乘法运算符的情况下使两个正数相乘的递归函数

来自分类Dev

在不使用基于级联键的联接的情况下,在Power Pivot中合并来自两个单独表的数据

来自分类Dev

如何在不使用循环目标c的情况下比较两个动态数组

来自分类Dev

如何在不使用临时变量的情况下交换两个变量的值?

来自分类Dev

如何在不使用 zip/map 的情况下将两个列表合并为列表列表

来自分类Dev

如何在不使用数组的情况下比较这两个字符串并删除一个公共字母?

来自分类Dev

在不使用内部查询的情况下从两个不同的表和组计算计数和总和

Related 相关文章

  1. 1

    如何在不交叉的情况下合并两个左联接?

  2. 2

    如何在不重复的情况下对两个不同的jQuery事件使用相同的代码?

  3. 3

    如何在不使用列号的情况下对两个顺序标记的变量系列应用函数?

  4. 4

    如何在不使用distinct和union的情况下在两个表之间返回唯一记录?

  5. 5

    SQL如何在以下情况下联接两个表以获取记录?

  6. 6

    如何在不使用.babelrc文件的情况下将两个预设参数传递给babel?

  7. 7

    如何在不使用SVG的情况下使两个图像重叠

  8. 8

    如何在不使用串联的情况下串联两个numpy ndarrays

  9. 9

    如何在不使用Coredata的情况下使用swift在IOS的两个扩展之间共享变量值

  10. 10

    如何在不添加和删除列的情况下合并两个表

  11. 11

    如何在不使用for循环的情况下向量化这两个numpy操作?

  12. 12

    如何在不带外键的情况下使用引用uf uid连接两个表

  13. 13

    如何在不使用交互式git变基的情况下将两个git提交合并为一个提交?

  14. 14

    如何在不使用zip的情况下遍历两个列表?

  15. 15

    如何在不使用数组的情况下以替代方式将两个序列合并为一个序列?

  16. 16

    如何在SQL中列不匹配的情况下联接两个表

  17. 17

    如何在不使用第三个变量的情况下交换两个Perl变量?

  18. 18

    如何在不使用类级别锁的情况下同步两个静态方法

  19. 19

    如何在不使用固定宽度容器的情况下使用CSS将两列居中?

  20. 20

    如何联接2个表并使用两个表中的公共列选择特定列

  21. 21

    PostgreSQL:如何在不使用“列定义列表”的情况下从表返回动态行?

  22. 22

    如何在不使用mysql的情况下使用表

  23. 23

    如何在不使用乘法运算符的情况下使两个正数相乘的递归函数

  24. 24

    在不使用基于级联键的联接的情况下,在Power Pivot中合并来自两个单独表的数据

  25. 25

    如何在不使用循环目标c的情况下比较两个动态数组

  26. 26

    如何在不使用临时变量的情况下交换两个变量的值?

  27. 27

    如何在不使用 zip/map 的情况下将两个列表合并为列表列表

  28. 28

    如何在不使用数组的情况下比较这两个字符串并删除一个公共字母?

  29. 29

    在不使用内部查询的情况下从两个不同的表和组计算计数和总和

热门标签

归档