正如你在下面看到的,我正在尝试合并两个表。这两个表显示的数据彼此有点不同,但没有太大的差异,我们无法连接它们。
为完整起见,我们将按表的颜色名称命名:
红色的table red
蓝色的table blue
从两个表中,我们将合并 ID
s
从 red
table,我们要合并 Name
与 blue
table的 Title
从 red
table,我们要合并 Prod
与 blue
table的 Item
从 red
表,我们将添加 Cost
我想知道我们是否可以连接这两个表并使用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
3条答案
按热度按时间tyu7yeag1#
选择“prod”时,将字段名更改为红色表格中的“item”,将“title”更改为蓝色表格中的“name”。选择表中不可用的空字段(此处为蓝色表中的成本字段),因为所选字段的联合编号必须相同。
14ifxucb2#
应使用并集运算符
规则:
union中的每个select语句必须具有相同的列数。这些列还必须具有相似的数据类型。每个select语句中的列的顺序也必须相同
zpgglvta3#
你可以用
UNION
,以便合并多个select查询的结果。由于没有重复的机会,在这些多个select查询之间,我们可以使用Union All
. 我们需要确保两个select查询返回的列数相同。最终,我们可以根据ID
使用ORDER BY
: