正如您在下面看到的,我正在尝试合并两个表。这两个表显示的数据略有不同,但差别不大,我们无法将它们连接在一起。
为了完整起见,我们将使用其颜色名称来调用表格:
红色表格将为red
蓝表将为blue
在这两个表中,我们将合并ID
s
在red
表中,我们将Name
与blue
表的Title
合并
在red
表中,我们将Prod
与blue
表的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
答案 0 :(得分:3)
select id, name, prod as item,cost from red_tbl UNION ALL select id, title as name, item, NULL as cost from blue_tbl
在红色表中将“ prod”的字段名称更改为“ item”,在蓝色表中将“ title”的名称更改为“ name”。选择表中不可用的空字段(此处为蓝色表中的成本字段),因为在选中字段的联合编号中必须具有相同的编号。
答案 1 :(得分:2)
您可以使用UNION
来组合多个选择查询的结果。由于没有重复的机会,因此在这多个选择查询之间,我们可以使用...
@CrossOriginResourceSharing(
allowAllOrigins = true,
allowCredentials = true,
maxAge = 1209600 )
public interface GateRs {
...
。我们需要确保两个选择查询都返回相同数量的列。最终,我们可以使用Union All
通过ID
对组合结果进行排序:
ORDER BY
答案 2 :(得分:0)
使用时应使用UNION运算符
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
规则:
UNION中的每个SELECT语句必须具有相同的列数。这些列还必须具有相似的数据类型。每个SELECT语句中的列也必须具有相同的顺序