我有一个用户个人资料,其中存储了代表投资组合值(value)(货币)的数字。我有另一个表格,其中列出了建议的投资购买,以及按风险因素分配给每个基金的投资组合的百分比。当百分比发生变化或投资组合值(value)发生变化时,我需要重新计算基金购买的美元值(value)。
我不想为每个客户创建一个“真实”表格,只是为了重复计算投资组合值(value)。如何构建查询来为客户选择投资组合值(value)并将其包含在每一行中以供计算使用?
User PortfolioValue
1 200,000
2 50,000
-----------------------------
Asset Fund Risk1Pct Risk2Pct
CashE MM 6% 4%
Fixed PIMCO 4% 6%
US Equity UEF 50% 75%
Desired Sample Output for User 1 via table generator (visual table, not database table)
Asset Fund Risk1Pct R1Calculation Risk2Pct R2Calculation
CashE MM 6% (6% * 200,000) 4% (4% * 200,000)
Fixed PIMCO 4% (4% * 200,000) 6% (6% * 200,000)
US Equity UEF 50% (50% * 200,000) 75% (75% * 200,000)
投资组合值已添加到 wp_usermeta,它具有键值结构。投资组合信息位于名为 demodb 的表中。
风险百分比采用 float 。
更新-------------------------------------------------------- 我有需要添加到 usermeta 中的值(user_id、meta_key、meta_value)。
有 9 个公司表,其中包含每个公司的投资选项(company_id、assetclass、fundname、risk1pct、risk1action、risk2pct、risk2action、risk3pct、risk3action、risk3pct、risk4action)。
我创建了一个表 userportfolio(user_id、company_id、total401k、companystockamt、loansamt、withdrawalsamt)。
我试图将所有内容连接起来,以便我输出诸如 user_id、company_id、assetclass、fundname、(risk1pct * Total401k)、risk1action、(risk2pct * Total401k)、risk2action、(risk3pct * Total401k)、risk3action、 (风险4pct * 总计401k),风险4行动。
我无法判断我是否真的需要 userportfolio 表。此信息是架构的含义吗?
最佳答案
假设您的%值是小数(并且我理解这个问题),我们可以通过简单的连接来做到这一点:
我们将您的第一个表命名为 u
(用户),将第二个表命名为 ri
(推荐投资)
SELECT u.User, u.PortfolioValue, ri.Asset, ri.Fund, ri.Risk1Pct, (u.PortfolioValue * ri.Risk1Pct) AS `R1Calculation`, ri.Risk2Pct, (u.PortfolioValue * ri.Risk2Pct) AS `R2Calculation` FROM table1 `u` JOIN table2 `ri`
关于php - MySQL 包含来自另一个表的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40666357/