合并2个没有公共列的表

时间:2017-08-10 06:43:49

标签: sql join

我有一个场景,我需要合并2个表。但是这两个表之间没有共同的列。

表1

    ---------------
    |grpnr|grpname|
    ---------------
    | 1   |abc    |              
    | 2   |def    |             
    | 3   |ghi    |              
    ---------------

表2

    ----------------
    | no | text    |   
    ----------------  
    | 0  | qwerty  | 
    | 10 | asdfg   |
    | 25 | zxcvb   | 
    ----------------

预期结果

  -------------------------------
  | grpnr | Grpname| no| text   |
  -------------------------------
  |  1    | abc    | 0 | qwerty |
  |  1    | abc    |10 | asdfg  |
  |  1    | abc    |25 | zxcvb  |
  |  2    | def    | 0 | qwerty | 
  |  2    | def    |10 | asdfg  |
  |  2    | def    |25 | zxcvb  | 
  |  3    | ghi    | 0 | qwerty | 
  |  3    | ghi    |10 | asdfg  | 
  |  3    | ghi    |25 | zxcvb  | 
  -------------------------------

我尝试使用sql连接但是我无法实现所需的结果。有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT
  *
FROM Table_2 t1
CROSS JOIN Table_4 t2
ORDER BY t1.grpnr;

output

答案 1 :(得分:-1)

你试过交叉加入吗?

SELECT Table1.col1,  
       Table1.col2,
       Table2.col1,  
       Table2.col2
FROM tablename Table1
CROSS JOIN tablename Table2;

http://www.w3resource.com/sql/joins/cross-join.php

的其他信息