示例:
第一次查询:
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
请告诉我查询如何获得结果集。
答案 0 :(得分:0)
可以使表的结构更好。
然后您可以轻松合并两个具有相同ID的表。这里的关系是id
列。
然后你可以这样做
select A, B, C , E from Table1 t1
inner join Table2 t2
on t1.id = t2.id
请参阅此DEMO HERE
中的结构化表格结果:
A B C E
1 1 3 8
2 1 4 9
希望它可以帮到你!
答案 1 :(得分:0)
SQL表本质上是无序的。这会产生一个问题,因为表中没有任何内容可以指定行的顺序,这似乎是两个表之间的连接。
所以,你必须屏住呼吸并做出一些假设。特别假设是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
答案 2 :(得分:0)
你好,这对你有帮助
你可以这样尝试
SELECT * FROM tb1,tb2
你得到像
这样的输出-----------------------
A B C E
-----------------------
1 1 3 8
2 1 4 9