![](/img/trans.png)
[英]How to create a stored procedure which pulls data from multiple tables that are not linked What do i do
[英]How do I create a table the same time as other tables that pulls totals from each?
對於課程我正在創建一個跟蹤我的財務狀況的數據庫。 我為我購買的每種商品都有一張桌子。 例如Rent
, Food
, Hygiene
, Entertainment
等......我還有一個名為Register
的表,我想顯示每個項目的每月總計。 表中總計的列名如下: MonthlyRentTotal
, MonthlyFoodTotal
等...我希望Register
表從每個表中提取總數,因此我不必輸入兩次。 關於我怎么做的任何想法? 我也不想創建視圖。 我希望它是一張真正的桌子。 我甚至不確定這是否可行。
我認為Rent,Food,Hygiene,Entertainment有相同的列類型。
INSERT INTO Register
SELECT *
FROM
(SELECT SUM(a.rent_value) AS value,
'monthlyrent' AS TYPE
FROM Rent a
UNION SELECT SUM(b.food_value) AS value,
'monthlyfood' AS TYPE
FROM Food b) d pivot(max(value)
FOR TYPE IN (monthlyrent, monthlyfood)) piv;
數據被旋轉以便插入到Register表中。
您可以將此查詢放在存儲過程中,也可以手動運行它。 如果您想在Register表中更新數據,我建議:
希望這可以幫助。 如果您需要其他詳細信息,請告訴我們。
如果有令人信服的理由,您應該只將項目分成單獨的表格。 對於您描述的項目,我認為沒有令人信服的理由。
我會想象一個像這樣的數據結構:
itemCategories
- 包含您關注的類別列表,例如“food”,“hygiene”等。 Purchases
- 包含每次購買,包括purchaseDate
, location
, itemCategory
, description
等列。 您可能需要其他實體的其他表,例如“location”。
你所謂的Register
表只是一個關於Purchases
的查詢或視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.