列中具有不同值时如何联接2个表

巴布

我有2张桌子,如下所示。

在此处输入图片说明

需要加入这两个表才能获得下表

在此处输入图片说明

我正在尝试不同的联接,但未获得预期的结果。您能帮我得到想要的桌子吗?

非常感谢您的帮助。

谢谢...

阿兹梅斯

希望此解决方案可以为您提供帮助(我使用的是SQL_Server语法)

SELECT isnull(date1,date2) as Date3, ISNULL(RM, 0 ),ISNULL(KM, 0 )
FROM table1 
FULL JOIN table2 
ON table1.Date1 = table2.Date2
order by Date3;

[结果]:

[编辑]:现场演示

create table Table1 (DATE1 date, RM int);

INSERT INTO Table1 VALUES ('1/4/2020' , 1);
INSERT INTO Table1 VALUES ('2/1/2020' , 4);
INSERT INTO Table1 VALUES ('2/10/2020' , 4);
GO

3行受影响

create table Table2 (DATE2 date, KM int);

INSERT INTO Table2 VALUES ('2/2/2020' , 1);
INSERT INTO Table2 VALUES ('2/10/2020' , 3);
INSERT INTO Table2 VALUES ('3/5/2020' , 2);
GO

3行受影响

select * from Table1;
GO
DATE1 | RM 
:--------- | -:
2020-01-04 | 1 
2020-02-01 | 4 
2020-02-10 | 4
select * from Table2;
GO
DATE2 | KM 
:--------- | -:
2020-02-02 | 1 
2020-02-10 | 3 
2020-03-05 | 2
SELECT isnull(date1,date2) as Date3, ISNULL(RM, 0 ),ISNULL(KM, 0 )
FROM table1 
FULL JOIN table2 
ON table1.Date1 = table2.Date2
order by Date3;
GO
日期3 | (无列名)| (无列名)
:--------- | ---------------:| ---------------:
2020-01-04 | 1 | 0 
2020-02-01 | 4 | 0 
2020-02-02 | 0 | 1 
2020-02-10 | 4 | 3 
2020-03-05 | 0 | 2

db <>在这里拨弄

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当联接列具有不同的名称时,如何联接两个表?

如何从具有不同WHERE条件的同一张表的2个不同列中减去2个值?

如何从联接具有一对多关系的3个表中查询唯一或不同的值

如何联接具有相同主键名称但值不同的两个表

更新表在不同的行中具有两个具有相同值的不同列

如何加入多个表并将某个列(在具有不同值的所有表中重复)放入一个具有一列的目标表中

熊猫联接2个表-并添加具有相同列名的列值

如何使用联接查询一列中具有多个值的表

SQL-如何联接具有相同列的2个表并水平堆叠

当在右表中找不到匹配项时,左联接两个具有默认值的表

基于1个表中的2列有条件地联接到两个不同的表

使用左外部联接和on子句从具有公共列的两个不同表中检索数据

我想知道如何从两个不同的列中获取具有 2 个特定值的行

从2个不同的表中选择值,并在具有相同ID的行中打印值

SQL如何联接两个具有不同列和联接的查询

如何联接兩個表中具有相同列名但行值不同的兩個 SELECT 查詢

SQL将表中的行插入到表中,该表必须具有2个不同的列,但也必须具有一个非不同的列

如何在 MYSQL 中连接 3 个表,其中每个表的 2 列具有相同的值

如何在Hibernate中通过具有不同名称的非PK列映射2个表

OrmLite / Servicestack:当每个联接的表具有相同的列名时,如何指定要从哪个表中获取列?

在一列中连接具有不同值的两个表

如果两个表的行在列中具有不同的值,则将它们绑定

在删除具有2个不同表的级联时

将mssql中的两个表与具有逗号分隔值的int列和varchar联接

在Postgresql中,如何从一个列中具有M个不同值的表中获取未知数量的记录?

如何获得2列中具有相同条件的值,且与其他两个条件具有不同值的行

从具有 2 列(键和值)的表中,如何返回带有列值的 json?

从联接两个表中获得唯一值,其中一个表可能具有特定列的重复值

如何在联接查询中的两个表中更新具有相同名称的两列