找到输出mysql查询

时间:2011-03-26 18:56:56

标签: mysql

我有一个表名T1只有一个列名Col1有行 -

Col1
a
b
c

另一个表名T2也只有一个列名Col1有行 -

Col1
x
y
z

现在我想要像

这样的记录
Col1--Col2
a------x
b------y
c------z

我正在使用mysql。 在此先感谢!!

2 个答案:

答案 0 :(得分:3)

create table T1(col1 varchar(10));
insert T1 values ('a'),('b'),('c');
create table T2(col2 varchar(10));
insert T2 values ('x'),('y'),('z');

select A.col1, B.col2 from
(select @r:=@r+1 rownum, col1 from (select @r:=0) initvar, T1) A,
(select @s:=@s+1 rownum, col2 from (select @s:=0) initvar, T2) B
where A.rownum=B.rownum

因为没有ORDER BY子句,所以根据插入的顺序,行编号取决于运气和约定。 可能并非总是如此。

答案 1 :(得分:0)

在您的示例中,如果您想要连接表以获得如下行结果:

  • 第1行 - A,X
  • 第2行 - B,Y
  • 第3行 - C,Z

..然后你必须添加一个可以加入两个表的公共字段。

如果您希望能够从这两个表中返回结果:

  • 第1行 - A
  • 第2行 - B
  • 第3行 - C
  • 第4行 - X
  • 第5行 - Y
  • 第6行 - Z

..那么你需要使用UNION:

(SELECT Col1 FROM T1) UNION (SELECT Col1 FROM T2)