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_atFROM 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 mvWHERE ea.id = mv.external_account_id
主要是子Select那一段不知道怎麼寫,之所以非要一條sql寫完的原因就是因為涉及到排序。
回複內容:
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_atFROM 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 mvWHERE ea.id = mv.external_account_id
主要是子Select那一段不知道怎麼寫,之所以非要一條sql寫完的原因就是因為涉及到排序。
將表關係都關聯起來,在查詢,查詢裡的演算法操作可以交由PHP完成,你可以看下這個
Laravel的關聯,可以使用分組,返回欄位和彙總函式
http://www.kancloud.cn/baidu/...