考虑有三个表产品分类(PROD_CLASS),文档标题(DOC_H)和文档正文(DOC_B)以及下一个模式
PROD_CLASS DOC_H DOC_B
CODE char(10) PK DATE date CODE_FK FK related to PROD_CLASS PK
NAME char(60) NUMBER int PK QUANTITY
P_TYPE char(10) TYPE int PRICE
P_TYPE
NUMBER_FK FK related to DOC_H
如何将没有重复的行(没有重复的产品名称(PROD_CLASS列名称))从DOC_B复制并插入DOC_B,以获取MAX编号(DOC_H表中的列)文档到具有MIN编号的文档(来自DOC_H的列)表)。
我的英语非常糟糕,所以我将尝试在示例中描述我的问题:
我有下一个表数据:
PROD_CLASS
CODE NAME P_TYPE
1 Beer Light
2 Milk Low-fat
3 Bread Boule
DOC_H
DATE NUMBER TYPE
01/01/2012 1 1
01/02/2012 2 1
01/03/2012 3 1
DOC_B
CODE_FK QUANTITY PRICE P_TYPE NUMBER_FK
1 100 5 Light 1
3 200 3 Boule 1
1 50 6 Light 2
1 25 5 Light 3
2 100 10 Low-fat 3
3 100 3 Boule 3
MAX编号的文档为#3,MIN编号的文档为#1。我需要将文档#3(带有MAX编号的doc)的名称不同的所有产品(行)复制到文档#1(带有MIN编号的doc)。
答案 0 :(得分:0)
我认为你的意思是你不希望表'doc_b'中的条目具有重复条目,指向相同的Prod_Class& Doc_H作为'doc_b'中的另一个条目。如果是这种情况,您可以在doc_b表中的code_fk和number_fk上创建唯一索引。
在DOC_B上创建唯一索引ux_doc_b_code_fk_number_fk(code_fk,number_fk)