sql - 从其他表中获取数据匹配
问题描述
我在 SQL 服务器中有三个名为sold、 details 和 customer的表,我的查询是,在 sold 表中,我有一个归档 INV-NO,它是 details 表中名为 BILL-NO 和 details 表中的公共字段我有一个字段 CUSTID,它也在客户表中。如何从已售表中的客户表中获取与已售 AND 详细信息表中的 INV-NO 匹配的 CUSTID 和客户名称。
然后 CUSTID 和 Customer 字段在已售表中为空白我想从其他两个表中填充它们。可能吗
解决方案
您可以通过内部连接获取它以检索客户名称。
SELECT [C].[NAME]
FROM [SOLD] S
JOIN [DETAILS] D ON [S].[INV-NO] = [D].[BILL-NO]
JOIN [CUSTOMER] C ON [D].[CUSTID] = [C].[CUSTID]
如果要使用客户名称更新 [SOLD] 表,则:
UPDATE S
SET [S].[CUSTID] = [C].[CUSTID], [S].[CUSTOMER] = [C].[NAME]
FROM [SOLD] S
JOIN [DETAILS] D ON [S].[INV-NO] = [D].[BILL-NO]
JOIN [CUSTOMER] C ON [D].[CUSTID] = [C].[CUSTID]
如果您提供了一些示例数据,将会很有帮助。
根据评论,如果您正在尝试使用 MS ACCESS,则通过将 JOIN 替换为 INNER JOIN 来尝试相同的查询,如下所示(对于 MS ACCESS ):
SELECT [C].[NAME]
FROM [SOLD] S
INNER JOIN [DETAILS] D ON [S].[INV-NO] = [D].[BILL-NO]
INNER JOIN [CUSTOMER] C ON [D].[CUSTID] = [C].[CUSTID]
如果您正在更新,则以下查询适用于 MS-ACCESS:
UPDATE S
SET [S].[CUSTID] = [C].[CUSTID], [S].[CUSTOMER] = [C].[NAME]
FROM [SOLD] S
INNER JOIN [DETAILS] D ON [S].[INV-NO] = [D].[BILL-NO]
INNER JOIN [CUSTOMER] C ON [D].[CUSTID] = [C].[CUSTID]
推荐阅读
- divi-theme - 在 php 页面上包含 divi 部分
- reactjs - 如何在无状态组件中有条件地更新状态?
- variables - 在汇编中声明 16 位内存变量
- php - 有什么方法可以在 PHP 中保持视频流处于活动状态?
- angular - 我的表格“addmedico”不起作用。如何修复按钮提交
- android-actionbar - AndroidX ActionBar 已消失:“在路径:DexPathList 上找不到类“androidx.appcompat.app.ActionBar;”...”
- amazon-web-services - API 网关资源策略返回 403
- javascript - 未捕获的 ReferenceError:在 add.js:1 中未定义 require
- r - 使用 Paste 从 checkboxGroupInput 中获取输入数据,聚合并用逗号分隔
- python - 如何在 URL 中替换年份后遍历多个未知数量的页面并获取它们的文本?