MySQL组合多个表的列
我有两张表,如下所示: 表1: 表2:MySQL组合多个表的列,mysql,sql,select,Mysql,Sql,Select,我有两张表,如下所示: 表1: 表2: age --- 1 4 我想将它们合并到第一个表(表1)中,如下所示 (它们的行数相同)我如何组合它们?也许你想要这个 SELECT a.Name, a.SurName, b.Age FROM ( SELECT @row := @row + 1 RankNo, Name, Surname FROM Table1, (SELECT @row := 0) r ) a INNER JOIN (
age
---
1
4
我想将它们合并到第一个表(表1)中,如下所示
(它们的行数相同)我如何组合它们?也许你想要这个
SELECT a.Name, a.SurName, b.Age
FROM
(
SELECT @row := @row + 1 RankNo,
Name, Surname
FROM Table1, (SELECT @row := 0) r
) a
INNER JOIN
(
SELECT @row1 := @row1 + 1 RankNo,
Age
FROM Table2, (SELECT @row1 := 0) r
) b ON a.RankNo = b.RankNo
- 也许你想要这个
SELECT a.Name, a.SurName, b.Age
FROM
(
SELECT @row := @row + 1 RankNo,
Name, Surname
FROM Table1, (SELECT @row := 0) r
) a
INNER JOIN
(
SELECT @row1 := @row1 + 1 RankNo,
Age
FROM Table2, (SELECT @row1 := 0) r
) b ON a.RankNo = b.RankNo
- uhmm他们之间的关系是什么?你如何将
表1中的用户与表2中的年龄联系起来?或者你想按行号来做?关系就是他们的行号。@Joshuajeantree糟糕的设计,你应该通过给出主键来重新创建它。我知道这很糟糕。但是它是在一个数据集中提供给我的。嗯,它们之间的关系是什么?你如何将表1
中的用户与表2中的年龄联系起来?或者你想按行号来做?关系就是他们的行号。@Joshuajeantree糟糕的设计,你应该通过给出主键来重新创建它。我知道这很糟糕。但是它是在一个数据集中提供给我的。我们如何确保行总是以相同的顺序返回?理论上,mysql可以返回任何顺序的行,除非指定顺序by@fthiellamysql可以返回任何顺序的行。不。这取决于您首先设置了索引的字段。如果不知道是否有索引,则无法确定行顺序。但是我也不确定索引是否能解决这个问题,当然MySql会使用索引来返回行和对行进行排序,但我不确定这是否得到保证或记录在案。请看这里:看起来,当没有给出显式索引时,InnoDB表的默认fifo顺序总是得到保证的。所以你的答案应该是正确的!我们如何确保行总是以相同的顺序返回?理论上,mysql可以返回任何顺序的行,除非指定顺序by@fthiellamysql可以返回任何顺序的行。不。这取决于您首先设置了索引的字段。如果不知道是否有索引,则无法确定行顺序。但是我也不确定索引是否能解决这个问题,当然MySql会使用索引来返回行和对行进行排序,但我不确定这是否得到保证或记录在案。请看这里:看起来,当没有给出显式索引时,InnoDB表的默认fifo顺序总是得到保证的。所以你的答案应该是正确的!
SELECT a.Name, a.SurName, b.Age
FROM
(
SELECT @row := @row + 1 RankNo,
Name, Surname
FROM Table1, (SELECT @row := 0) r
) a
INNER JOIN
(
SELECT @row1 := @row1 + 1 RankNo,
Age
FROM Table2, (SELECT @row1 := 0) r
) b ON a.RankNo = b.RankNo