我一直坚持解决我将在下面描述的问题。如果有需要澄清的内容请告诉我,以便我可以更新我的帖子。 首先,让我解释数据库结构。我有以下表格(以及更多,但它们不是本主题的一部分):
1)分歧 2)公司 3)部门 4)产品
以上所有表格都是相关的。
1)部门有很多公司,但公司只能属于一个部门。 1- * 2)每个公司可以有一个或多个部门,但一个部门可以属于一个公司。 1- * 3)每个扇区可以有一个或多个产品,每个产品可以属于一个或多个扇区。 -我的问题如下: 鉴于上述情况,无论公司如何,我都需要生成或检索给定部门下的所有部门。但诀窍是他们需要根据他们的名字而不是ID来合并,所以假设你有第1分部,在A部门和A部门下合并。当然,A部门可以作为另一个同名的公司的另一个实体存在,但不同的ID(公司A除外)也属于第1分部。因此,在新的“合并”中,A部门应该是不同的,意味着应该有一个单一的实体,而不是更多。 让我们调用存储这些合并表X的表。现在,表X(包含给定分部下的唯一扇区,无论它们各自的公司)应该映射到包含文档和其他文件的另一个表(表Y)。现在第二个问题是表Y的文档需要与映射到表X中列出的扇区的产品相关。当然,如果产品1在扇区A和扇区B下,它的文档可能不同,只是因为它属于两个不同的扇区。
如何将上述内容翻译成SQL表/视图或其他所需内容?如果那是不可能的,那么解决问题的正确方法是什么?此外,如果删除扇区会发生什么?或其名称已更新?还是产品更新/删除?在这种特殊情况下,最好的做法是什么。
注意:上面列出的表1,2,3,4已经创建并且正常运行。但我需要添加上述问题所描述的额外功能。我不能在这里做任何改变逻辑和要求的事情。
使用MS SQL Server 2008 R2。
非常感谢提前。 如果有任何需要澄清的话,请告诉我。
此处的合并仅基于产品名称。 但现在,如果产品A已更新,会发生什么?删除吗?这如何反映输出和映射的文档?
再次感谢。
(顺便说一句:我可以生成那个输出,因为第一个数据模型没有问题(第一张图片)但是我需要以某种方式放置在一个表格中,以便我可以根据以上所有内容将文档映射到产品。)