2014-11-24 37 views
0

我有幾個表(比如5個表),我想從5個表中的每一箇中總結一個特定的條目,並將該總和放在一個表中。 例子:從不同的表中增加值並將總值插入到另一個表中

Table_One

product_one_id name price 
1     item1 50.25 
2     item2 100.25 

Table_Two

product_two_id name price 
    1    item3 25.25 
    2    item4 70.25 

Table_Total

product_total_id name price_total 
    1    total1 120.50 //get total from item1 + item4 
    2    total2 125.50 //get total from item2 + item3 

這是我的代碼:是不是正確的語法,而是爲了說明什麼,我試圖做

INSERT INTO Table_Total(product_total_id, name, price_total) 
VALUES (1, 'total1', ((select price from Table_One where product_one_id = 1) + (select price from Table_Two where product_two_id = 4)); 
+1

什麼涉及'product_one_id = 1'到'product_two_id = 2'來獲得'price_total'? – sgeddes 2014-11-24 22:18:58

+0

@ sgeddes的觀點非常重要。如果您可以定義產品1和產品2之間的關係,那麼您想要做的事很簡單。 – paqogomez 2014-11-24 22:21:49

+0

我正在構建計算機商店數據庫。 Product_one_id是計算機部件的型號,price_total是總數。所以一張桌子只有cpu零件和他們的價格,另一個有gpu零件和他們的價格。一張表具有cpu和gpu的總價格 – PLOW 2014-11-24 23:33:02

回答

1

雖然我不能完全肯定,爲什麼你需要做到這一點,這應該使用cross join基本上產生cartesian product

insert into table_total 
select 1, 'total1', t1.price + t2.price 
from table_one t1 cross join table_two t2 
where t1.table_one_id = 1 
    and t2.table_two_id = 2; 
相關問題