我有一个表格,储存本组织各工作组的等级。 它想像:
CREATE TABLE WORKGROUPS (
WORKGROUPID NUMBER NULL,
NAME VARCHAR2(100) NOT NULL,
PARENTWORKGROUPID NUMBER NOT NULL,
WORKGROUPLEVEL CHAR(1) DEFAULT 1 NOT NULL,
CONSTRAINT WORKGROUPS_PK PRIMARY KEY(WORKGROUPID)
)
例如,可能有三个层次的工作组:
ID 1 - Sales (PARENTWORKGROUPID = 0)
ID 2 - Business Sales (PARENTWORKGROUPID = 1)
ID 3 - West Coast B2B (PARENTWORKGROUPID = 2)
因此,3名家长为2名,其中2名为1名,1名为无父母的高层工作团体,因此我们使用0名。
现在我们有一个TASKS表格。 每个TASKS row都有一个工作文件栏,该栏在工作清单表中注明了工作组。
我需要写一个疑问,即把属于某个高级别工作组的所有图瓦卢皇家警察部队,例如销售的所有物品(如上所述,这些产品可以是1、2或3个工地综合数据库)。 从根本上说,它是一个退步的问题。
我可以考虑采取某种办法,利用LEFT JOIN检查各个层次,但我却不采用数据库设计以来在数量上难以编码的解决办法,以允许任何等级。 我认为,任何其他解决办法都涉及改变表象,我现在可以这样做。 任何想法? 感谢!