我有一个用户个人资料,用于存储代表投资组合价值(货币)的数字。我有另一张表,其中列出了建议的投资购买,以及按风险因素分配给每个基金的投资组合百分比。当百分比发生变化或投资组合价值发生变化时,我需要重新计算基金购买的美元价值。
我不想为每个客户创建一个“真实”表,只是为了重复计算的投资组合价值。如何构造查询以选择客户端的投资组合值,并将其包含在每一行中以供计算使用?
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的表中。
风险百分比处于浮点状态。
更新-------------------------------------------- 我将我需要的值添加到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, (risk4pct * total401k),risk4action。
我无法判断我是否真的需要userportfolio表。这个信息是模式的含义吗?
答案 0 :(得分:0)
假设您的%值是小数(我理解了这个问题),我们可以通过简单的连接来实现:
让我们拨打您的第一个表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`