MySQL包含来自另一个表

时间:2016-11-17 22:39:53

标签: php mysql wordpress

我有一个用户个人资料,用于存储代表投资组合价值(货币)的数字。我有另一张表,其中列出了建议的投资购买,以及按风险因素分配给每个基金的投资组合百分比。当百分比发生变化或投资组合价值发生变化时,我需要重新计算基金购买的美元价值。

我不想为每个客户创建一个“真实”表,只是为了重复计算的投资组合价值。如何构造查询以选择客户端的投资组合值,并将其包含在每一行中以供计算使用?

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表。这个信息是模式的含义吗?

1 个答案:

答案 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`