我想爲持有客戶以及他們所做的收費和支付的系統創建數據庫模式。什麼是推薦的方法,以便我稍後可以僅使用一個查詢來獲得所有客戶的全部費用和付款清單?客戶賬戶表的推薦表格模式?
一個查詢應返回結果是這樣的:
NAME | TotalCharges | TotalPayments
John 80 100
Nick 100 90
我想創建兩個單獨的表,一個是收費,一個用於付款。
CUSTOMERS
-ID
-NAME
CHARGES
-ID
-CUSTOMER_ID
-AMOUNT
PAYMENTS
-ID
-CUSTOMER_ID
-AMOUNT
另一種方法是創建一個表,兩個收費和支付,使用一列每個,像這樣:
CUSTOMERS
-ID
-NAME
CHARGES_AND_PAYMENTS
-ID
-CUSTOMER_ID
-CHARGE_AMOUNT
-PAYMENT_AMOUNT
另一種方法是使用一個表兩種費用及付款,使用一個TRANSACTION_TYPE標誌。 0->付款,1->充電,但如果我用這個方法,我將無法得到使用一個查詢客戶的總費用及付款(或可以嗎?)
CUSTOMERS
-ID
-NAME
CHARGES_AND_PAYMENTS
-ID
-CUSTOMER_ID
-TRANSACTION_TYPE (Flag: 0=Payment, 1=Charge)
-AMOUNT
這是最好的進場?
您可以在單個查詢中使用第三種方法獲得所需的輸出。如果您還需要總額(所有費用減去所有付款),第三種方法將是最靈活的解決方案。 –