join table第一行,表B第一行没有通用标识符(适用于所有行)。 Mysql的

时间:2018-03-30 18:57:11

标签: mysql sql

我弄乱了标识符,我的两个表不能被任何列连接。但他们的顺序是一样的。表A中的第一行是表B中的第一行,表A中的第二行是表B中的第二行,与rest相同。有没有办法按行号或类似的方式加入这两个表?

例如:

表A:

two
three
one


表B:

cat
dog
mouse


预期结果将是:

two - cat
three - dog
one - mouse

或者这是不可能的,我需要重新开始一切?

2 个答案:

答案 0 :(得分:2)

您可以为每个表添加自动增量列:

ALTER TABLE TableA ADD COLUMN (id INT AUTO_INCREMENT PRIMARY KEY);
ALTER TABLE TableB ADD COLUMN (id INT AUTO_INCREMENT PRIMARY KEY);

然后你可以进行加入

SELECT num, animal
FROM TableA
JOIN TableB ON TableA.id = TableB.id

输出:

num     animal  
two     cat
three   dog
one     mouse

答案 1 :(得分:1)

使用查询

select a.c1, b.c1
from
(select c1 ,@rownum:=@rownum+1 as rn1 from taba,(SELECT @rownum:=0) r ) a
join
(select c1 ,@rownum1:=@rownum1+1 as rn2 from tabb,(SELECT @rownum1:=0) s ) b
on a.rn1 = b.rn2

SQL小提琴: - http://sqlfiddle.com/#!9/a046b5/22