假设你有一张桌子:
+-------+-------+
| Item | Value |
+-------+-------+
| Tax | 1.08 |
| Water | 6 |
| Bread | 2 |
+-------+-------+
并且您想插入这样的行:
+-------+-------+
| Item | Value |
+-------+-------+
| Paper | 5*Tax |
+-------+-------+
“值”列在每次检索时动态生成,因此它始终准确地反映对“税”所做的任何更改。
示例:
SELECT * FROM table WHERE Item = "Paper"
显示5.40UPDATE table SET Value = 1.11 WHERE Item = "Tax"
SELECT * FROM table WHERE Item = "Paper"
显示 5.55同一个表中是否可以有这样的动态值?或者这是我需要使用视图的东西?
编辑:本质上,我希望它像电子表格一样发挥作用。如果是 Excel,Paper 的值就是 =B2*5
假设你的桌子的名字是
product
。您可以加入同一张表并进行如下查询:
SELECT t1.name, t1.value * t2.value AS value_with_tax
FROM product t1
JOIN product t2 ON t2.name = 'tax'
WHERE t1.name <> 'tax';
演示:SQLFiddle