我正在为劳务工作发票设计数据库。 我有以下实体。
Labor_invoice_table(这是我创建的主表)
在这里,我对工作描述和每个工作发票行项目的金额感到困惑。在每个发票上,我有多个工作,每个工作的金额都是。
我在谷歌搜索它。 我还在这里找到了一个有用的细节link 发现我应该创建新表
Labor_Job_Description
这样多个作业就可以存储在另一个表中。
这是正确的方法吗?或者我应该尝试别的吗?
答案 0 :(得分:1)
要生成发票,您可以使用
之类的查询选择ID,LabourName,InvoiceDate,Description,Amount 来自发票 内部联接Invoice.ID = Labor_Job_Description.InvoiceID 总金额:
选择金额(金额) 来自Labor_Job_Description,其中Labor_Job_Description.InvoiceId = 插入将是这样的..
插入发票(InvoiceDate,LaborName) 值(curdate(),'name');
设置@ invoiceID = LAST_INSERT_ID();
插入Labor_Job_Description(InvoiceNo,Description,Amount) 值(@ invoiceID,'desc',10);
答案 1 :(得分:0)
您需要relation。
可能你需要多对多的关系。因为每个劳动力都可以有很多工作,或者每个工作都可以有很多劳动力。
劳动
工作
labor_job
现在您已准备好加入查询。
SELECT
*
FROM
labor_job AS lg
JOIN
labor AS l ON lg.labor_id = l.id
JOIN
job AS j ON lg.job = j.id