2017-03-27 15 views
0

considèrent qu'il est trois tables de classification des produits (PROD_CLASS), en-tête du document (DOC_H) et corps du document (DOC_B) avec suivant le schémaComment puis-je trouver la valeur MAX et MIN puis copiez et insérez aucune des lignes en double

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 

Comment copier et insérer des doublons (aucun doublon par nom de produit (Nom de colonne PROD_CLASS)) de DOC_B à DOC_B pour le document avec numéro MAX (colonne de la table DOC_H) en document avec numéro MIN (colonne de la table DOC_H) .

J'ai un très mauvais anglais, donc je vais essayer de décrire ma question sur l'exemple:

J'ai à côté des données de table:

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 

Le document avec le numéro MAX est le numéro 3 et le document avec le numéro MIN est # 1. Je dois copier tous les produits (lignes) qui sont distincts par nom du document # 3 (doc avec le nombre MAX) au document # 1 (doc avec le nombre MIN).

+0

devrait être en mesure de répondre à votre problème si vous disséquer ce qui est nécessaire et les faire un. – maSTAShuFu

+0

Voici un bon endroit pour commencer. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

Répondre

0

Je pense que vous voulez dire que vous ne voulez pas une entrée dans la table 'doc_b' qui a une entrée dupliquée en pointant sur le même Prod_Class & Doc_H qu'une autre entrée dans 'doc_b'. Si c'est le cas, vous pouvez le faire en créant un index unique sur code_fk et number_fk dans la table doc_b.

Créer un index unique ux_doc_b_code_fk_number_fk sur DOC_B (code_fk, number_fk)