拥有以下表格,并希望创建表格fee
,其中列product_price.price + product_sale.b_rate
计算为comm
product_price.price - product_sale.s_rate
计算的是card
当表product_sale
和product_price
填充时,有没有办法自动填充表card
。
例如使用计算列或函数创建表product_sale
+---------+-------------+----+
| column | type | pk |
+---------+-------------+----+
| s_date | date | Y |
| seller | varchar(50) | Y |
| country | varchar(50) | Y |
| b_rate | float | |
| s_rate | float | |
+---------+-------------+----+
product_price
+---------+-------------+----+
| column | type | pk |
+---------+-------------+----+
| p_date | date | Y |
| product | varchar(50) | Y |
| price | varchar(50) | |
+---------+-------------+----+
card
+---------+-------------+----+
| column | type | pk |
+---------+-------------+----+
| c_date | date | Y |
| seller | varchar(50) | Y |
| country | varchar(50) | Y |
| fee | float | |
| comm | float | |
+---------+-------------+----+
?
需要帮助
{{1}}
答案 0 :(得分:0)
你可以拥有"伪"虚拟列,而不是真正的真实列。 PostgreSQL可以将虚拟列模拟为表上的函数(不是持久化的),但是,有几个限制:
虚拟列只能依赖于同一表和/或通用数据库函数的同一行上的值,而不依赖于其他表的其他行。
在select上使用*时,不会自动列出它们。请参阅Emulating Virtual Columns。
无法将其编入索引。这意味着,如果你想通过它们进行搜索,那么搜索就不是最佳的了。
现在,我猜第一个项目对您来说是一个交易破坏者。这不是你需要的。
我已经好几次成功使用过这个技巧了。