ms-access - 基于同一个表更新 MS Access 表空字段
问题描述
在 MS Access 数据库中,我正在使用一个包含行的表。在某些情况下,并非所有行的列都被填充。我想创建一个更新查询,以使用该列不为空的其他行的数据更新空字段的值。
谷歌搜索了这个问题,但没有找到令人满意的答案。有人可以告诉我应该如何构建查询吗?
当前表看起来像
| Invoicenumber | Customer | Date |
|---------------|----------|---------|
| 5 | 12 | 12-6-19 |
| 5 | | 12-6-19 |
| 5 | | 12-6-19 |
| 5 | | 12-6-19 |
| 6 | 18 | 15-6-19 |
| 6 | | 15-6-19 |
| 6 | | 15-6-19 |
| 7 | 20 | 20-6-19 |
| 7 | | 20-6-19 |
更新后我需要表格如下所示:
| Invoicenumber | Customer | Date |
|---------------|----------|---------|
| 5 | 12 | 12-6-19 |
| 5 | 12 | 12-6-19 |
| 5 | 12 | 12-6-19 |
| 5 | 12 | 12-6-19 |
| 6 | 18 | 15-6-19 |
| 6 | 18 | 15-6-19 |
| 6 | 18 | 15-6-19 |
| 7 | 20 | 20-6-19 |
| 7 | 20 | 20-6-19 |
解决方案
您可以通过将表连接到自身来使用 SQL 来完成:
UPDATE
Invoices
INNER JOIN Invoices AS Inv2
ON Invoices.InvoiceNumber = Inv2.InvoiceNumber
SET
Invoices.Customer = Inv2.Customer
WHERE
(Invoices.[Customer] Is Null)
AND (Inv2.Customer IS NOT NULL)
推荐阅读
- javascript - TypeScript:使用 Promise.all 替换图像源时的行为不一致
- node.js - 使用 Visual Studio Pro 2019 对 Node.js/TS 进行性能分析
- python - 我们可以通过python脚本中的中断访问终端中的python控制台进行调试吗
- python - Postgres 在 groupby 和 max 之后选择 *
- python-3.x - 两个分类列的熊猫中的分组计数 - 熊猫
- c++ - 如何让我的程序停止出现构建问题并停止使用负数?
- java - 你能检查一下输入是否与变量名相同吗?
- java - 迭代方法列表并获取第一个非空响应
- scheme - SICP 练习 1.17 问题
- visual-studio-code - 无法通过 VS Code 连接到 Azure Cosmos 数据库