<code>SELECT ea.id, ea.name, ea.capital_balance, ea.total_balance, ea.available_balance, ea.cashable_balance, ea.market_value as old_market_value, mv.market_value, ea.total_balance + mv.market_value as total_value, ea.brokerage_rate, ea.state, ea.description, ea.created_at FROM external_accounts ea, ( SELECT c.external_account_id, SUM(c.amount) AS market_value FROM ( SELECT a.external_account_id, a.total_count * b.price AS amount FROM main_inventories a JOIN stocks b ON a.stock_code = b.code ) AS c GROUP BY c.external_account_id ) AS mv WHERE ea.id = mv.external_account_id </code>
主要是子Select那一段不知道怎麼寫,之所以非要一條sql寫完的原因就是因為牽涉到排序。
<code>SELECT ea.id, ea.name, ea.capital_balance, ea.total_balance, ea.available_balance, ea.cashable_balance, ea.market_value as old_market_value, mv.market_value, ea.total_balance + mv.market_value as total_value, ea.brokerage_rate, ea.state, ea.description, ea.created_at FROM external_accounts ea, ( SELECT c.external_account_id, SUM(c.amount) AS market_value FROM ( SELECT a.external_account_id, a.total_count * b.price AS amount FROM main_inventories a JOIN stocks b ON a.stock_code = b.code ) AS c GROUP BY c.external_account_id ) AS mv WHERE ea.id = mv.external_account_id </code>
主要是子Select那一段不知道怎麼寫,之所以非要一條sql寫完的原因就是因為牽涉到排序。
將表格關係都關聯起來,在查詢,查詢裡的演算法運算可以交由PHP完成,你可以看下這個
<code>Laravel的关联,可以使用分组,返回字段和聚合函数 </code>
http://www.kancloud.cn/baidu/...