2016-11-16 43 views
0
---------------colete-------------------- 
| id | id_comanda | status | id_lista | 
---------------------------------------- 
| | 21775  | 0  | 3820  | 
---------------------------------------- 
| | 21776  | 0  | 3820  | 
---------------------------------------- 
| | 21777  | 0  | 3820  | 
---------------------------------------- 


-----comenzi-------- 
| id | taxComanda | 
-------------------- 
|21775| 16.00  | 
-------------------- 
|21776| 00.00  | 
-------------------- 
|21777| 16.00  | 
-------------------- 

我想從表colete使得從id_lista列的選擇,以獲得從表comenzitaxaComand列總和,所以在最後的總和是32.00如何從另一臺基於第一臺獲得SUM在MySQL

這是我有,但並不好:

SELECT a.id_comnda AS a_id_comanda, a.id_lista AS a_id_lista, 
b.id AS b_id, b.taxaComanda AS b_taxaComanda 
(SELECT sum(taxaComanda) FROM comenzi WHERE b.id = a.id_comanda AS totalTaxaComanda) 
FROM colete a 
INNER JOIN comenzi b ON b.id = a.id_comanda 
WHERE a.id_lista = 3820 
GROUP BY a.id_comanda 
+0

什麼是你期望的輸出? – sagi

+0

taxaComanda:16.00 + 00.00 + 16.00 = 32.00 – oxido

+0

爲什麼?它是如何有意義的? – sagi

回答

1

基於您的評論我看不到對方的回答莫過於:

SELECT SUM(b.taxComanda) 
FROM colete a 
INNER JOIN comenzi b ON b.id = a.id_comanda 
WHERE a.id_lista = 3820 
+0

你是凡人之間的神:D 這個迷你查詢的工作原理,現在我需要在我的查詢中應用它稍微複雜一些。謝謝! – oxido

0

使用子查詢和分組id_lista:

SELECT id_lista, SUM(taxComanda) as result, 
FROM(
    SELECT id_comanda , status , id_lista, taxComanda 
    from colete 
    left join comenzi on colete.id = comenzi.id_comanda)as sq 
group by sq.id_lista 
+0

Thak you @tyro,我會試試這個! 偉大的人在這裏! – oxido