如何通过比较它们(根据条件)在sql中减去两个表?

自学:

我有两个这样的桌子

表格1

  ------------------------------------
date   | name    | charge | coupon| 
------------------------------------
10/01  | Alex    | 500    | 100   | 
11/01  | Max     | 1000   |  200  |  
13/01  |         |        |       |

表2

  ------------------------------------
date   | name    | error  | refund | 
------------------------------------
10/01  | Alex    | crash  |        | 
|      |         |        |  

如果table2中存在错误,我想计算从table1向table2的退款。考虑日期和名称是唯一的。

我试过这样的东西,但这根本不正确。我是SQL的初学者

SELECT date, name, charge - coupon as Refund IF( error=True FROM table2 )
FROM table1 

请帮助如何解决这个问题...

戈登·利诺夫(Gordon Linoff):

嗯。我想你想要一个join

select t2.*, (t1.charge - t1.coupon) as refund
from table2 t2 join
     table1 t1
     on t1.name = t2.name and t1.date = t2.date
where t2.error is not null;

如果您想要所有行,则有条件地在其中进行退款:

select t2.*,
       (case when t2.error is not null then t1.charge - t1.coupon end) as refund
from table2 t2 join
     table1 t1
     on t1.name = t2.name and t1.date = t2.date;

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据SQL中的ID合并两个表

根据条件SQL连接两个表

通过两个条件比较两个对象

如何在sql中减去两个查询?

SQL-遍历两个表并根据条件求和

如何根据UNIX中的列比较两个文件

SQL-如何联接两个表并根据它们之间的ID求和一个列?

dplyr-根据条件从两个不同的数据帧中减去

根据条件比较两个对象

通过两个表减去产品

如何根据Java Netbeans中的项目类型减去两个表之间的数量?

根据特定条件在熊猫的两个表中比较两列

比较两个列表中存在的两个字典的键,并减去它们各自的值

根据它们的颜色比较两个单元格

MYSQL:如何根据其他两个表的条件在表中插入行

从SQL表中减去两个日期

比较两个表并根据条件添加行

如何比较sql中两个表的数据?

如何通过比较两个表与sql中的列名来计算更改的列数

oracle中如何通过比较两个表来查找记录

如何根据不同的列在 Mysql 中连接两个表并汇总它们的列

如何根据条件合并两个 SQL Server 表?

根据它们的值比较两个不同的类

如何根据sql中的条件连接两个表?

如何比较两个不同表中的两列

如何比较同一个表中的两个字段以查看它们是否匹配、不匹配或在 SQL 中都为 NULL 和 Group By?

如何比较 SQL 中两个相似表的行?

如何比较 SQL Server 2016 中的两列,如果不相等,根据条件将它们设置为相等?

根据匹配条件从两个 DF 中减去列