如何创建所有列都有许多详细信息的关系

时间:2019-06-12 16:00:22

标签: sql relationship

我正在做一个关于资本支出的小型个人项目。有一部分我无法弄清楚。

我的表格如下: capex_form capex_cashflow

创建capex_form时,我可以要求付款并将这笔钱分配给我,但我希望在包括本月在内的13个月内付款(以显示明年如何付款)。这将反映在capex_cashflow中,他有13列,金额或为0。

问题来了:

我需要能够为每次付款添加许多说明。例如: 在2019年7月,我将花费200(完成此操作),我需要输入这200美元的细目分类和描述。一件事要50美元,另一件事要150美元。

我每个月添加了3列,但每个月只能添加一个描述。

我本以为可以创建另一个表进行描述,但是这与特定列(月)的关系如何。据我所知,您将一个表与另一个表而不是列相关联。

我也一直在考虑创建13个表(为期13个月),但我想应该避免一些东西,以避免创建13个不必要的表。

我感谢任何帮助或指导

1 个答案:

答案 0 :(得分:0)

这很简单,很普通。

在“标题”表中放置一个索引列。标题表是信息的摘要,因此您可以创建一个只包含capex_income的表。

CAPEX_FORM Capex_id
资本支出金额

然后创建一个付款表,该付款表可以有一个month列(仅1个)和一个capex_Id列,以及说明或您需要的其他任何内容

CAPEX_PAYMENT Capex_payment_id Capex_id 支付金额 月(1-13) 说明

现在,由于您在此表中有Capex_id,因此它将与CAPEX表相关,并且您将能够像这样查询所有关联的付款

select payment_amount, month, description from capex_payment p join capex_form f on p.capex_id = f.capex_id