Eu tenho um caso como este, quero fazer um relatório de três tabelas diferentes no CodeIgniter, e depois fazer um resumo de outras tabelas, para mais detalhes verifique isto:
Tenho mesa tbl_product
:
+----------+----------+---------+
| id_prdct | product | remark |
+----------+----------+---------+
| 1 | marriage | remark1 |
| 2 | office | remark2 |
| 3 | school | remark3 |
+----------+----------+---------+
então tenho tabelas tbl_sell
como abaixo:
+---------+----------+------------+------------+
| id_sell | id_prdct | item_sell | price_sell |
+---------+----------+------------+------------+
| 1 | 1 | dress | USD 500 |
| 2 | 1 | shoes | USD 600 |
| 3 | 1 | decoration | USD 1500 |
| 4 | 2 | dress | USD 300 |
| 5 | 2 | shoes | USD 500 |
| 6 | 3 | shoes | USD 900 |
+---------+----------+------------+------------+
e tbl_buy
como abaixo:
+--------+----------+------------+------------+
| id_buy | id_prdct | item_buy | price_buy |
+--------+----------+------------+------------+
| 1 | 1 | dress | USD 250 |
| 2 | 1 | shoes | USD 300 |
| 3 | 1 | decoration | USD 1000 |
| 4 | 2 | dress | USD 200 |
| 5 | 2 | shoes | USD 300 |
| 6 | 3 | shoes | USD 500 |
+--------+----------+------------+------------+
Na minha página da web, quero fazer um resultado como abaixo:
+----+----------+------------+----------+----------+
| No | Product | Sum Sell | Sum Buy | Profit |
+----+----------+------------+----------+----------+
| 1 | marriage | USD 2600 | USD 1550 | USD 1050 |
| 2 | office | USD 800 | USD 500 | USD 300 |
| 3 | school | USD 900 | USD 500 | USD 400 |
+----+----------+------------+----------+----------+
então eu quero fazer um resumo de tbl_sell
e e tbl_buy
, em seguida, mostrá-los na minha página da web e fazer um resumo (lucro) como minha última tabela acima. tem alguma sugestão para resolver meu caso?
Obrigado...
======================================================== ======== [ATUALIZAR RESPOSTA]
Já tentei mas ainda obtive erro, alguma sugestão para este código?
$d['data'] = $this->db->query("select sum(tbl_sell.price) AS total_sell, sum(tbl_buy.price) AS total_buy
left join tbl_sell on tbl_sell.id_prdct=tbl_product.id_prdct
left join tbl_buy on tbl_buy.id_prdct=tbl_product.id_prdct
from tbl_product
WHERE tbl_sell.id_prdct=tbl_product.id_prdct AND tbl_buy.id_prdct=tbl_product.id_prdct ");
Experimente este sql:
SELECT p.id_prdct,
p.product,
sell.total,
buy.total
FROM tbl_product p
LEFT JOIN (SELECT id_prdct,
Sum(price_sell) total
FROM tbl_sell
GROUP BY id_prdct) sell
ON p.id_prdct = sell.id_prdct
LEFT JOIN (SELECT id_prdct,
Sum(price_buy) total
FROM tbl_buy
GROUP BY id_prdct) buy
ON p.id_prdct = buy.id_prdct;
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras