如何解决MySQL的如何合并或匹配两个表中的特定行
首先,标题不是很清楚。通过这个示例,我想知道是否有SQL代码解决方案,或者是否必须在另一端使用C#,Java,PHP等。
原理是这样的:
- 有一个 输入 表,如下所示:
ID Name Amount
1 AA 10
2 BB 9
3 CC 8
4 DD 1
5 ZZ 2
- 并且有一个 输出 表:
ID Name Fouls
1 BB 4
2 ZZ 1
- 我要获取的是根据每个匹配的列减去数量,以期获得以下信息:
Name Diff
AA 10
BB 5
CC 8
DD 1
ZZ 1
可以直接用SQL完成吗?
解决方法
您可以left join
:
select i.name,i.amount - coalesce(o.fouls,0) diff
from inputs i
left join outputs o on o.name = i.name
,
我认为您只想使用left join
和算术:
select i.id,i.name,0)
from inputs i left join
outputs o
using (id)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。