[英]selecting two different data from different table and display the value
我有兩個表tbl_product和tbl_sales。 我的問題是,如何從兩個不同的表中獲取數據並水平顯示,並從tbl_rsales中求和。 例如
the ff data in my tbl_products are
id|pcode|pdesc |
1 |1000 |wire |
2 |1443 |capactor |
and the ff data in my tbl_sales are
id|total|discount| pcode |
1 |1000 |10 | 1000 |
2 |2000 |20 | 1443 |
3 |1000 |10 | 1000 |
4 |1000 |20 | 1443 |
預期的輸出必須是這樣的。 如何從兩個不同的表中選擇它?
id | pcode | pdesc | total | discount |
1 | 1000 | wire | 2000 | 20 |
2 | 1443 | capacitor | 3000 | 40 |
嘗試這個:
SELECT P.id, P.pcode, P.pdesc, COALESCE(SUM(S.total),0), COALESCE(SUM(s.discount),0)
FROM tbl_products P
LEFT OUTER JOIN tbl_sales S
ON P.pcode = S.pcode
GROUP BY P.id, P.pcode, P.pdesc
這個?
SELECT
tbl_products.*,
SUM(tbl_sales.total) as total,
SUM(tbl_sales.discount) as discount
FROM tbl_products
LEFT JOIN tbl_sales ON tbl_sales.pcode = tbl_products.pcode
GROUP BY pcode
ORDER BY total ASC
使用這樣的聯接:
SELECT * FROM tbl_products INNER JOIN tbl_sales ON tbl_sales.pcode = tbl_products.pcode ORDER BY tbl_products.pcode
這將使它成為一張桌子。
這可以通過簡單的JOIN
和GROUP BY
來完成:
SELECT
p.id,
p.pcode,
p.pdesc,
SUM(s.total) AS total,
SUM(t.discount) AS discount
FROM
tbl_products AS p
LEFT JOIN
tbl_sales AS s ON
s.pcode = p.pcode
GROUP BY
p.pcode
ORDER BY
/* your call */
select p.id,p.pcode,p.desc,sum(s.sales),sum(s.discount)
from tbl_products p, tbl_sales s
where p.id = s.id
group by p.id,p.pcode,p.desc;
也嘗試一下:
SELECT
tbl_products.*,
SUM(tbl_sales.total) as total,
SUM(tbl_sales.discount) as discount
FROM tbl_products,tbl_sales
where tbl_sales.pcode = tbl_products.pcode
GROUP BY pcode
ORDER BY total ASC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.