Mysql 连接具有不同名称的表

Mysql 连接具有不同名称的表,mysql,sql,Mysql,Sql,正如你在下面看到的,我正试图将两张表合并起来。这两个表显示的数据彼此稍有不同,但差异不会太大,我们无法将它们连接起来 为完整起见,我们将按颜色名称对表格进行命名: 红色表格将是红色的 蓝色表格将为蓝色 从两个表中,我们将组合IDs 从红色表格中,我们将名称与蓝色表格的标题 从红色表格中,我们将产品与蓝色表格的项目 从红色表中,我们将添加成本 我想知道我们是否可以连接这两个表并使用SQL输出结果。换句话说,我不想创建一个全新的表,我只想使用一个查询来输出两个表的组合 当我尝试这样做时,我得到了如

正如你在下面看到的,我正试图将两张表合并起来。这两个表显示的数据彼此稍有不同,但差异不会太大,我们无法将它们连接起来

为完整起见,我们将按颜色名称对表格进行命名:

红色表格将是红色的 蓝色表格将为
蓝色

从两个表中,我们将组合
ID
s
红色
表格中,我们将
名称
蓝色
表格的
标题

红色
表格中,我们将
产品
蓝色
表格的
项目

红色
表中,我们将添加
成本

我想知道我们是否可以连接这两个表并使用SQL输出结果。换句话说,我不想创建一个全新的表,我只想使用一个查询来输出两个表的组合

当我尝试这样做时,我得到了如下结果:

ID    Name    Prod    Cost    ID    Title    Item
0     asdf    item1   4.00    1     fdsa     item2
2     sdfg    item3   5.00    3     gfds     item4
4     dfgh    item5   4.00    5     hgfd     item6

但是我想得到这个:

ID    Name    Item    Cost
0     asdf    item1   4.00
1     fdsa    item2
2     sdfg    item3   5.00
3     gfds    item4
4     dfgh    item5   4.00
5     hgfd    item6
可以使用,以便组合多个select查询的结果。由于没有重复的机会,在这些多个select查询之间,我们可以使用
Union All
。我们需要确保两个select查询返回的列数相同。最终,我们可以使用排序方式对组合结果进行排序,排序方式为
ID

(SELECT ID, 
       Name, 
       Prod AS Item, 
       Cost 
FROM red_table) 

UNION ALL 

(SELECT ID, 
       Title AS Name, 
       Item, 
       '' AS Cost
FROM blue_table) 

ORDER BY ID ASC
可以使用,以便组合多个select查询的结果。由于没有重复的机会,在这些多个select查询之间,我们可以使用
Union All
。我们需要确保两个select查询返回的列数相同。最终,我们可以使用排序方式对组合结果进行排序,排序方式为
ID

(SELECT ID, 
       Name, 
       Prod AS Item, 
       Cost 
FROM red_table) 

UNION ALL 

(SELECT ID, 
       Title AS Name, 
       Item, 
       '' AS Cost
FROM blue_table) 

ORDER BY ID ASC

使用应使用并集运算符

SELECT column_name(s) FROM table1 
UNION 
SELECT column_name(s) FROM table2;
规则:


UNION中的每个SELECT语句必须具有相同的列数。这些列还必须具有相似的数据类型。每个SELECT语句中的列的顺序也必须相同

Use PROJECT Use UNION运算符

SELECT column_name(s) FROM table1 
UNION 
SELECT column_name(s) FROM table2;
select id, name, prod as item,cost from red_tbl UNION ALL select id, title as name, item, NULL as cost  from blue_tbl
规则:

UNION中的每个SELECT语句必须具有相同的列数。这些列还必须具有相似的数据类型。每个SELECT语句中的列的顺序也必须相同

select id, name, prod as item,cost from red_tbl UNION ALL select id, title as name, item, NULL as cost  from blue_tbl
将选择“产品”时的字段名更改为红色表格中的“项目”,将选择“标题”时的字段名更改为蓝色表格中的“名称”。选择表中不可用的空字段(此处为蓝色表中的成本字段),因为所选字段的联合编号必须具有相同的编号


将选择“产品”时的字段名更改为红色表格中的“项目”,将选择“标题”时的字段名更改为蓝色表格中的“名称”。选择表中不可用的空字段(此处为蓝色表中的成本字段),因为所选字段的联合编号必须具有相同的编号。

您希望得到什么样的预期结果?第一个还是第二个结果?你想要第一个,而不是第二个,或者你得到了第一个,但是你想要第二个?你想要什么样的预期结果?第一个还是第二个结果?你想要第一个,而不是第二个,或者你得到了第一个,但是你想要第二个?