sql - 如果出现空值,我可以使用什么 sql 语句?
问题描述
我有 2 张桌子。我现在想创建一个概览,在其中我看到第一个表的所有数据,但不是 InvoidId,我想看到 InvoiceNumber(所以 1->202101 和 2->202102)。我尝试使用 INNER JOIN 执行此操作,但是我看不到没有 InvoiceId 的行/会话。
看起来很简单,但我还没有弄明白。谁能帮我?提前谢谢!
表 1:会话
ID | 描述 | 日期 | 发票编号 | 数量 | 客户 ID |
---|---|---|---|---|---|
9 | 辅导 | 10-09-2021 | 1 | 80,00 | 3 |
10 | 辅导 | 17-09-2021 | 80,00 | 3 | |
11 | 治疗 | 12-09-2021 | 2 | 80,00 | 4 |
12 | 治疗 | 19-09-2021 | 2 | 80,00 | 4 |
表 2:发票
ID | 日期 | 数字 | 数量 | 客户 ID |
---|---|---|---|---|
1 | 11-09-2021 | 202101 | 80,00 | 3 |
2 | 22-09-2021 | 202102 | 160,00 | 4 |
解决方案
我想你只想要一个left join
:
select s.*, i.number
from session s left join
invoice i
on s.invoiceid = i.id
推荐阅读
- c# - SignedXml.LoadXml() 引发 CryptographicException
- html - 重叠时的 Ionic 3 音频处理
- javascript - 使用javascript输入数据同时计算表格单元格
- node.js - node_modules 解析详情
- swift - SKTextureAtlas 被第二个 SKTextureAtlas 的声明覆盖
- sql - 按计数过滤查询
- algorithm - 给定 2d 中的一小组点,如何绘制在每个点周围不重叠的圆,以使它们的半径最大化?
- java - 在命名查询的 setParameter 中附加值是否会增加 SQL 注入的可能性?
- c# - WPF 和 MVVM - ListView 和自动滚动性能
- go - 在自定义拦截器/中间件中访问 gRPC 请求对象