需要创建基于链接记录是否存在于不同表

时间:2018-03-20 22:28:06

标签: sql ms-access

我没有数据库架构师,但是我的雇主让我遇到了一个我不确定如何解决的问题,因为我是一位精通计算机的地质学家"。

他们有一个数据库,其中有一个名为" wellExpenses"的表。在该表中,有一些费用与名为" wellInvoices"的表相关联。他们希望我创建一个查询,提供减去适当费用的井的小计。但是,并不总是与每口井相关的费用。

因此,虽然wellInvoices表中可能有300个条目,但wellExpenses表中只有大约75个条目。

我需要做的是像下面的伪代码:

If “wellNum” exists in “expenseTable”:
    “wellSubtotal” (in wellTable) = “wellSubtotal” (in wellTable) - 
    “expenseSubtotal” (in “expenseTable”)
Else:
    “wellSubtotal” (in wellTable) = “wellSubtotal” (in wellTable)

我如何在SQL中执行此操作?或MS Access中的任何其他方式

1 个答案:

答案 0 :(得分:0)

在不知道表格结构的情况下很难提供建议,但由于您的wellExpenses表格可能不一定包含wellInvoices表格中每条记录的相应记录,因此LEFT JOINwellInvoiceswellExpenses是合适的 - 例如:

SELECT 
    wellInvoices.wellNum, 
    wellInvoices.wellSubtotal-Nz(wellExpenses.expenseSubtotal,0) AS wellTotal
FROM 
    wellInvoices LEFT JOIN wellExpenses ON wellInvoices.wellNum = wellExpenses.wellNum