2

例子:

第一个查询:

select A,B,C from tb1;

---------------
A     B     C 
---------------
1     1     3
2     1     4

第二个查询:

select E from tb2;

---------------
E     
---------------
8    
9

所需的结果格式应如下所示:-

-----------------------
A     B     C     E
-----------------------
1     1     3     8
2     1     4     9

请告诉我查询如何获取结果集。

4

3 回答 3

0

嗨,可能对你有帮助

你可以试试这样

SELECT * FROM tb1,tb2

你得到像这样的输出

-----------------------
A     B     C     E
-----------------------
1     1     3     8
2     1     4     9 
于 2013-03-30T12:50:04.637 回答
0

如果您可以在两个表中添加一个列 id 来标识每个表的行号,以使您的表结构更好。

然后您可以轻松合并两个具有相同 id 的表。这里的关系是id列。

那么你可以这样做

 select A, B, C , E from Table1 t1
 inner join Table2 t2
 on  t1.id = t2.id

请在此处查看此演示中的结构化表格

结果:

    A   B   C   E
    1   1   3   8
    2   1   4   9

希望对你有帮助!

于 2013-03-30T12:08:14.947 回答
0

SQL 表本质上是无序的。这带来了一个问题,因为您的表中没有任何内容可以指定行的顺序,这似乎是两个表之间的连接。

因此,您必须屏住呼吸并做出一些假设。特定的假设是 a 返回的数据select是您在表中想要的实际顺序(如果您在表中有删除或在并行环境中运行,它可能会有所不同)。

以下代码id为每个表添加一个。然后这个 id 可以用于连接:

select t1.A, t1.B, t1.C, t2.D
from (select t1.*, @rn := @rn + 1 as id
      from tbl1 t1 cross join (select @rn := 0)
     ) t1 left outer join
     (select t2.*, @rn := @rn + 1 as id
      from tbl2 t2 cross join (select @rn := 0)
     ) t2
     on t1.id = t2.id
于 2013-03-30T12:13:28.177 回答