如何找到MAX和MIN值,然后复制并插入任何重复的行



考虑有三个表产品分类 (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

如何将具有最大编号(表中DOC_H列(的文档(表中的列(从DOC_B DOC_B复制和插入无重复行(产品名称(PROD_CLASS列名称(重复(到具有最小编号的文档(表中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

最大编号的文档为 #3,最小编号的文档为 #1。我需要将文档 #3(带有 MAX 编号的文档(中名称不同的所有产品(行(复制到文档 #1(带有最小编号的文档(。

我想你的意思是你不希望表'doc_b'中的一个条目在指向与"doc_b"中的另一个条目相同的Prod_Class和Doc_H方面具有重复的条目。 如果是这种情况,您可以通过在doc_b表中code_fk和number_fk上创建唯一索引来完成。

在DOC_B上创建唯一索引ux_doc_b_code_fk_number_fk(code_fk、number_fk(

最新更新