sql - 存储在表格 MS ACCESS 中的计算
问题描述
我有 2 张桌子TableA
和TableB
.
在TableA
中,我有 3 列(Name
和Stock
)Price
。
在TableB
中,我有 2 列(NVariable
和NFormula
)。在 TableB 中,我创建了一个新变量,并为其命名,并基于Price
of创建相关公式TableA
。例如,在 中TableB
,我创建了一个名为的新变量Discount
,公式为0.15*Price
。
现在,我在 Access 中创建以下查询:
SELECT Name, Stock, Price, NFormula AS Discount
FROM TableA, TableB
它向我展示了
Apple, 10, 10$, 0.15*Price
代替
Apple, 10, 10$, 1.5
请协助解决这个问题
解决方案
在 MS Access 中,列不能存储“公式”。实际上,通过使用计算列,这种能力在某些数据库(如 SQL Server)中是可用的。但它在 MS Access 中不可用。
解决方案是使用视图。该结构通常是将折扣率存储在TableB
:
CREATE VIEW v_ab AS
SELECT a.Name, a.Stock, a.Price,
(b.discount_rate * a.Price) AS Discount
FROM TableA as a, TableB as b;
(大概,你想要INNER JOIN
,但这并不清楚。)
推荐阅读
- jquery - 如何显示来自单独选择的数据?
- omnet++ - 在 omnet ++ 中接收并向另一个 aodv 节点发送回复
- pandas - 熊猫肮脏的月份并将其转换为json
- node.js - 为什么此代码无法创建续集关联
- sql - 我想使用不同表中的 SUM() 函数
- c# - 单个字段成为子数组的 C# 继承中的常见做法
- vb.net - 如何使用 vb.net 查找字符串列表
- r - 使用 group_by 和 rleid() 函数创建新变量
- java - 如何从多维数组的用户那里获取输入?
- wordpress - 为什么“wpbakery page builder的终极插件”插件在我激活时会爆炸?