簡體   English   中英

如何創建一個表與其他表格同時創建一個表格?

[英]How do I create a table the same time as other tables that pulls totals from each?

對於課程我正在創建一個跟蹤我的財務狀況的數據庫。 我為我購買的每種商品都有一張桌子。 例如RentFoodHygieneEntertainment等......我還有一個名為Register的表,我想顯示每個項目的每月總計。 表中總計的列名如下: MonthlyRentTotalMonthlyFoodTotal等...我希望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表中更新數據,我建議:

  • 使用TRUNCATE for Register表創建存儲過程,然后執行上述查詢
  • 創建SQL作業並隨時安排存儲過程的運行。

希望這可以幫助。 如果您需要其他詳細信息,請告訴我們。

如果有令人信服的理由,您應該只將項目分成單獨的表格。 對於您描述的項目,我認為沒有令人信服的理由。

我會想象一個像這樣的數據結構:

  • itemCategories - 包含您關注的類別列表,例如“food”,“hygiene”等。
  • Purchases - 包含每次購買,包括purchaseDatelocationitemCategorydescription等列。

您可能需要其他實體的其他表,例如“location”。

你所謂的Register表只是一個關於Purchases的查詢或視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM