MySQL - 将员工链接到发票 #

MySQL - Linking employee(s) to invoice #

一家服务公司想要一个准确记录谁做了什么工作的注册表,在这种情况下,我们有 9 名员工,其中一名或多名员工一次可以开具一张发票。

问题是:为了让管理层获得每个员工完成的工作(工资单)的查询,数据库应该如何存储员工完成的发票?

到目前为止,主管标记了在每张发票中工作的员工,而数据库有所有 9 名员工,我在将矩阵存储到列中时遇到了问题 - 或者更确切地说是列中的员工列表。

在搜索employee#2时是否可以通过employee查询而没有找到say employee 22?

Invoice #                   List of Employees
 1                        3, 5
 2                        8, 1, 4
 3                        6
 4                        7, 2, 9, 3...

谢谢

CREATE TABLE Employee
(
    [Id] INT NOT NULL PRIMARY KEY
    ...
)

CREATE TABLE Invoice
(
    [Id] INT NOT NULL PRIMARY KEY
    ...
)

CREATE TABLE EmployeeInvoice
(
    [EmployeeId] INT NOT NULL, 
    [InvoiceId] INT NOT NULL, 
    PRIMARY KEY ([EmployeeId], [InvoiceId]), 
    CONSTRAINT [FK_EmployeeInvoice_ToTableEmployee] 
    FOREIGN KEY ([EmployeeId]) REFERENCES [Employee]([Id]), 
    CONSTRAINT [FK_EmployeeInvoice_ToTableInvoice] 
    FOREIGN KEY ([InvoiceId]) REFERENCES [Invoice]([Id])
)