2013-07-25 40 views
0

我正在用Yii和MySQL製作一個php網頁。我的問題是在數據庫部分。MySQL從兩個現有的表格計算創建一個表格

我有兩個表,「股票」和「給出」。他們是這樣的:

stock = id (primary key), name, amount (this is integer), details 

given = id (from stock), name (from stock), amount (given amount, thus not same with stock), ... 

我想創建一個表「leftStock」,這是與「存量」的格式相同,但有不同的量。這將是給定一些後剩下的股票數量。由於在不同的時間,可以給出不同數量的相同項目,給定表格的ID和名稱不是唯一的。因此我會使用「sum(given.amount)」,但它對我來說不是確定的。

我以爲我可以使用「創建表...選擇」風格的編碼,但我不能構造它的結構。有誰能夠幫助我?

(也可我在Yii的網頁使用「查看」?因爲我不會做的「leftStock」表中的任何直接改,其正視圖可能是可行的無論是。)

+0

左邊是一個關鍵字,所以我們希望能夠把它作爲一個表名(或字段名) – jeff

+0

嘗試創建「VIEW」而不是「TABLE 」。 –

+0

我用它來理解,而不是真名。我仍然可以在這裏改變它,不要混淆,謝謝。 – anyName

回答

0

它應該做的事通過創建一個查詢。

試試這個,我不還測試:

SELECT 
    (SELECT SUM(a.amount - b.amount) 
    FROM stock AS a, given AS b 
    WHERE a.id = b.id AND a.id = id) AS `itemleft`, * 
FROM stock 
+0

我把它編碼爲:'create view leftStock as select(select a sum(a.amount - b.amount from stock a,given b where a.id = b.id and a.id = id)as'itemleft',* from股票「,但它給了一個語法錯誤,再次我找不到在哪裏。正如你所知,MySQL通常會給出總是語法錯誤。 – anyName

+0

@corrupt:感謝修訂。我沒有注意到,我使用單引號那裏.. Hehehe –

+0

@ user1983481:嘗試修改後的代碼,那裏有一個單引號,所以它可能會給你一個錯誤,如果你已經測試了更新後的答案,我會說對不起,我不能幫助 –

相關問題