我想讓數據庫管理人員之間的開支。我想要一張桌子,我可以節省多少歐元花在每個人身上。如何在SQLite中定義一些表格
我有一個表叫人只有兩列,_id和名稱。
然後我試圖用_id創建一個表,總金額並節省多少歐元花費每個人。我正在考慮用每個人的_id列出一個專欄,並列出了多少歐元的花費,但我不知道該怎麼做。
例如:
或者,也許我可以利用一些列來存儲的ID和金額,這樣的: (這是相同的例子)
預先感謝您!
我想讓數據庫管理人員之間的開支。我想要一張桌子,我可以節省多少歐元花在每個人身上。如何在SQLite中定義一些表格
我有一個表叫人只有兩列,_id和名稱。
然後我試圖用_id創建一個表,總金額並節省多少歐元花費每個人。我正在考慮用每個人的_id列出一個專欄,並列出了多少歐元的花費,但我不知道該怎麼做。
例如:
或者,也許我可以利用一些列來存儲的ID和金額,這樣的: (這是相同的例子)
預先感謝您!
您提出了兩個單獨的SQL反模式。一列是由另一個表命名的列,另一列是blah_1
,blah_2
......列系列。在每種情況下,他們都表示你正在考慮這個錯誤; 數據庫不是電子表格。
你會好起來的具有記錄事務ID,ID的人又有多少,他們花(省略_id
爲清楚起見)之間的唯一映射表:
txID | personID | spend
-----+----------+-------
1 | 1 | 10
2 | 1 | 5
2 | 2 | 10
3 | 2 | 10
3 | 3 | 10
4 | 1 | 4
你要指定組合的txID
和personID
是獨一無二的,但並不是說這兩列本身都是唯一的。
現在,這並不是說你已經失去了任何人花費的金額或其他基本彙總信息。然後,您可以導出使用查詢類似於事務中花費的總金額:
SELECT SUM(spend) AS "Total amount" FROM spendTable WHERE txID = 2
但是,你也可以做這樣的事情找出有多少人花了總數:
SELECT SUM(spend) FROM spendTable WHERE personID = 1
這樣的查詢是完全明智的,並且對於您提出的第二個表格設計來說會更困難。 (第一個設計會更好,除了那麼你不能真正明確與PEOPLE
表通過外鍵關係聯繫起來,這隻要你開始做任何事情更復雜的事情做多棘手)