Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2012, 10h59   #1
Membre du Club
 
Inscription : juin 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 311
Points : 45
Points : 45
Par défaut Duplication de ligne

bonjour,

Comme vous pouvez le constater, y a une duplication de OF_CONF_LINE_NB ( y a deux ligne de 4 et deux ligne de 3 )

Code :
1
2
3
4
5
6
7
8
9
10
 
Row#	OF_CONF_LINE_NB	OF_CONF_NB	COMP_CD	OF_NB	EXEC_BEGIN_DT	Z_DATE	FICHE_NB
 
1	1	443036	4000	1576093	02/01/2012	02/01/2012	08
2	4	443036	4000	1576093	04/01/2012	04/01/2012	13
3	5	443036	4000	1576093	05/01/2012	05/01/2012	08
4	2	443036	4000	1576093	03/01/2012	03/01/2012	09
5	4	443036	4000	1576093	04/01/2012	04/01/2012	39
6	3	443036	4000	1576093	04/01/2012	04/01/2012	13
7	3	443036	4000	1576093	04/01/2012	04/01/2012	39

est-ce que vous pouvez m'aider à enlever ces duplications
maserati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h07   #2
Membre Expert
 
Avatar de lola06
 
Femme Laure
Consultante en Business Intelligence
Inscription : avril 2007
Messages : 987
Détails du profil
Informations personnelles :
Nom : Femme Laure
Âge : 25
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Consultante en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : avril 2007
Messages : 987
Points : 1 702
Points : 1 702
Peux-tu nous mettre la requête qui renvoi ce résultat ?
Et nous indiquer ton SGBD...?
__________________
~ Lola ~

Ne pas oublier :
et aussi :
lola06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h07   #3
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 688
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 688
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Lisez cet article :
http://sqlpro.developpez.com/cours/doublons/
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h07   #4
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 669
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 669
Points : 2 680
Points : 2 680
bonjour,

Pour la gestion des doublons c'est par ici : http://sqlpro.developpez.com/cours/doublons/

Revenez avec vos points de blocage.

edit: synchro !
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h09   #5
Membre Expert
 
Avatar de lola06
 
Femme Laure
Consultante en Business Intelligence
Inscription : avril 2007
Messages : 987
Détails du profil
Informations personnelles :
Nom : Femme Laure
Âge : 25
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Consultante en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : avril 2007
Messages : 987
Points : 1 702
Points : 1 702
Pour info les lignes n'apparaissent pas en double car tous les éléments ne sont pas identiques

Code :
1
2
3
4
5
6
7
8
Row#    OF_CONF_LINE_NB    OF_CONF_NB    COMP_CD    OF_NB    EXEC_BEGIN_DT    Z_DATE    FICHE_NB
 
2    4    443036    4000    1576093    04/01/2012    04/01/2012    13
5    4    443036    4000    1576093    04/01/2012    04/01/2012    39
 
6    3    443036    4000    1576093    04/01/2012    04/01/2012    13
7    3    443036    4000    1576093    04/01/2012    04/01/2012    39
__________________
~ Lola ~

Ne pas oublier :
et aussi :
lola06 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 26/01/2012, 11h09   #6
Membre du Club
 
Inscription : juin 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 311
Points : 45
Points : 45
Voici ma requête :

Code :
1
2
3
4
5
6
7
8
SELECT  a.of_conf_line_nb, a.of_conf_nb, a.comp_cd, a.of_nb,a.exec_begin_dt, b.z_date,
           NVL(b.z_nufiche,'00') AS fiche_nb
            FROM prd_confirmations a, w_zfiche b
           WHERE plant_cd = '4001'
            AND a.of_nb = b.z_aufnr(+)
            AND a.exec_begin_dt = b.z_date(+)
          -- and  a.fiche_nb = b.z_nufiche
             AND  a.of_nb = '1576093'
maserati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h12   #7
Membre du Club
 
Inscription : juin 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 311
Points : 45
Points : 45
Effectivement Lola06, moi je veux :

Code :
1
2
3
4
5
6
 
Row#    OF_CONF_LINE_NB    OF_CONF_NB    COMP_CD    OF_NB    EXEC_BEGIN_DT    Z_DATE    FICHE_NB
 
2    4    443036    4000    1576093    04/01/2012    04/01/2012    13
 
7    3    443036    4000    1576093    04/01/2012    04/01/2012    39
maserati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h21   #8
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 688
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 688
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
C'est donc le résultat d'une requête et pas les doublons dans une table.
Il doit manquer un prédicat de jointure, peut-être celui qui est en commentaire ?

Quelle est votre version d'Oracle ?
Si vous ne savez pas :
Code :
SELECT * FROM sys.v_$version;
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h29   #9
Membre du Club
 
Inscription : juin 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 311
Points : 45
Points : 45
Salut Waldar:

Code :
1
2
3
4
5
6
7
Row#	BANNER
 
1	Oracle DATABASE 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
2	PL/SQL Release 10.2.0.3.0 - Production
3	CORE	10.2.0.3.0	Production
4	TNS FOR IBM/AIX RISC System/6000: Version 10.2.0.3.0 - Productio
5	NLSRTL Version 10.2.0.3.0 - Production
maserati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h54   #10
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 688
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 688
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Il faudrait également la description des deux tables ainsi que leur données :
Code :
1
2
3
4
5
6
7
DESC prd_confirmations;
 
DESC w_zfiche;
 
SELECT * FROM prd_confirmations WHERE of_nb = '1576093';
 
SELECT * FROM w_zfiche WHERE z_aufnr = '1576093';
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 12h04   #11
Membre du Club
 
Inscription : juin 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 311
Points : 45
Points : 45
DESC prd_confirmations; :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
COLUMN Name	ID	Pk	NULL?	DATA Type	DEFAULT	Histogram	Encryption Alg	Salt
 
COMP_CD	1	1	N	CHAR (4 Byte)		Yes		
OF_CONF_NB	2	2	N	VARCHAR2 (10 Byte)		Yes		
OF_CONF_LINE_NB	3	3	N	VARCHAR2 (8 Byte)		Yes		
OF_NB	4		N	VARCHAR2 (12 Byte)		Yes		
OF_OPER_NB	5		N	VARCHAR2 (4 Byte)		Yes		
PROD_CD	6		N	VARCHAR2 (18 Byte)		Yes		
PLANT_CD	7		N	CHAR (4 Byte)		Yes		
WRK_CENT_ID	8		N	VARCHAR2 (8 Byte)		Yes		
CONF_CREAT_DT	9		Y	DATE		Yes		
CONF_REC_DT	10		Y	DATE		Yes		
CREAT_USER	11		Y	VARCHAR2 (12 Byte)		Yes		
EXEC_BEGIN_DT	12		Y	DATE		Yes		
EXEC_END_DT	13		Y	DATE		Yes		
CONF_STATUS	14		Y	CHAR (1 Byte)		Yes		
CONF_FIN_STATUS	15		Y	CHAR (1 Byte)		Yes		
FICHE_NB	16		Y	VARCHAR2 (2 Byte)		Yes		
COL_H_NB	17		Y	NUMBER (15,2)		Yes		
OF_LAB_PRD_DR_H	18		Y	NUMBER (15,3)		Yes		
OF_LAB_CLN_DR_H	19		Y	NUMBER (15,3)		Yes		
OF_LAB_CHG_DR_H	20		Y	NUMBER (15,3)		Yes		
OF_MACH_PRD_DR_H	21		Y	NUMBER (15,3)		Yes		
OF_MACH_CHG_DR_H	22		Y	NUMBER (15,3)		Yes		
CONF_LAB_PRD_DR_H	23		Y	NUMBER (15,3)		Yes		
CONF_LAB_CLN_DR_H	24		Y	NUMBER (15,3)		Yes		
CONF_LAB_CHG_DR_H	25		Y	NUMBER (15,3)		Yes		
CONF_MACH_PRD_DR_H	26		Y	NUMBER (15,3)		Yes		
CONF_MACH_CHG_DR_H	27		Y	NUMBER (15,3)		Yes		
CONF_QTY_UGS	28		Y	NUMBER (15,3)		Yes		
CONF_QTY_STAT	29		Y	NUMBER (15,3)		Yes		
INS_DT	30		Y	DATE		Yes		
CHNG_DT	31		Y	DATE		Yes		
EXEC_BEGIN_TIME	32		Y	VARCHAR2 (8 Byte)		Yes		
EXEC_END_TIME	33		Y	VARCHAR2 (8 Byte)		Yes		
CONF_QTY_CA	34		Y	NUMBER (15,3)		Yes
DESC w_zfiche;

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
COLUMN Name	ID	Pk	NULL?	DATA Type	DEFAULT	Histogram	Encryption Alg	Salt
 
WERKS	1		Y	VARCHAR2 (4 Byte)		Yes		
Z_CHARG	2		Y	VARCHAR2 (6 Byte)		Yes		
Z_DATE	3		Y	DATE		Yes		
Z_MATNR	4		Y	VARCHAR2 (18 Byte)		Yes		
Z_AUFNR	5		Y	VARCHAR2 (10 Byte)		Yes		
Z_ARBPL	6		Y	VARCHAR2 (8 Byte)		Yes		
Z_NUFICHE	7		Y	VARCHAR2 (2 Byte)		Yes		
Z_QUANJ	8		Y	VARCHAR2 (3 Byte)		Yes		
Z_CHRONO	9		Y	INTEGER		Yes		
BAD_FICHE	10		Y	INTEGER	0
 
	Yes
SELECT * FROM prd_confirmations WHERE of_nb = '1576093'
Code :
1
2
3
4
5
6
7
Row#	COMP_CD	OF_CONF_NB	OF_CONF_LINE_NB	OF_NB	OF_OPER_NB	PROD_CD	PLANT_CD	WRK_CENT_ID	CONF_CREAT_DT	CONF_REC_DT	CREAT_USER	EXEC_BEGIN_DT	EXEC_END_DT	CONF_STATUS	CONF_FIN_STATUS	FICHE_NB	COL_H_NB	OF_LAB_PRD_DR_H	OF_LAB_CLN_DR_H	OF_LAB_CHG_DR_H	OF_MACH_PRD_DR_H	OF_MACH_CHG_DR_H	CONF_LAB_PRD_DR_H	CONF_LAB_CLN_DR_H	CONF_LAB_CHG_DR_H	CONF_MACH_PRD_DR_H	CONF_MACH_CHG_DR_H	CONF_QTY_UGS	CONF_QTY_STAT	INS_DT	CHNG_DT	EXEC_BEGIN_TIME	EXEC_END_TIME	CONF_QTY_CA
 
1	4000	443036	5	1576093	10	1052337	4001	10000011	05/01/2012	05/01/2012	RENOUJF	05/01/2012	05/01/2012		X	08	20000	8.769	0	0.053	1.754	0.011	6.25	0	0	1.25	0	24552	584.571	06/01/2012 09:46:10	06/01/2012 09:46:10	08:00:00	09:15:00	1023
2	4000	443036	1	1576093	10	1052337	4001	10000011	02/01/2012	02/01/2012	RENOUJF	02/01/2012	02/01/2012			08	20000	20.717	0	0.124	4.143	0.025	27.5	3.75	0	6.25	0	58008	1381.143	03/01/2012 05:30:32	03/01/2012 05:30:32	08:00:00	15:00:00	2417
3	4000	443036	2	1576093	10	1052337	4001	10000011	03/01/2012	03/01/2012	RENOUJF	03/01/2012	03/01/2012			09	20000	54.591	0	0.328	10.918	0.066	38.75	3.75	0	8.5	0	152856	3639.429	04/01/2012 05:33:12	04/01/2012 05:33:12	08:00:00	16:30:00	6369
4	4000	443036	4	1576093	10	1052337	4001	10000011	04/01/2012	04/01/2012	RENOUJF	04/01/2012	04/01/2012			08	20000	36.274	0	0.218	7.255	0.044	23.75	3.75	0	5.5	0	101568	2418.286	05/01/2012 05:14:07	05/01/2012 05:14:07	11:00:00	16:30:00	4232
5	4000	443036	3	1576093	10	1052337	4001	10000011	04/01/2012	04/01/2012	RENOUJF	04/01/2012	04/01/2012			13	20000	18.857	0	0.113	3.771	0.023	15	0	0	3	0	52800	1257.143	05/01/2012 05:14:07	05/01/2012 05:14:07	08:00:00	11:00:00	2200
SELECT * FROM w_zfiche WHERE z_aufnr = '1576093';

Code :
1
2
3
4
5
6
7
Row#	WERKS	Z_CHARG	Z_DATE	Z_MATNR	Z_AUFNR	Z_ARBPL	Z_NUFICHE	Z_QUANJ	Z_CHRONO	BAD_FICHE
 
1	4001	200208	02/01/2012	1052337	1576093	GR15	08	002	10	0
2	4001	200309	03/01/2012	1052337	1576093	GR15	09	003	10	0
3	4001	200413	04/01/2012	1052337	1576093	GR15	13	004	10	0
4	4001	200439	04/01/2012	1052337	1576093	GR15	39	004	10	0
5	4001	200508	05/01/2012	1052337	1576093	GR15	08	005	10	0
maserati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 12h18   #12
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 688
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 688
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Avec ces données-là il n'y a pas de réponse.
À mon avis ça vient de la ligne commentée dans la requête.

Dans votre première table, vos fiche_nb sont respectivement (08, 09, 13, 08, 08).
Dans la secondes, vos z_nufiche sont respectivement (08, 09, 13, 39, 08).

Ce critère est je pense important pour votre jointure, mais il y a une erreur dans vos données.
Il faut analyser pourquoi.

Au passage vous devriez plutôt écrire votre requête de cette façon (jointures ANSI, utilisation de coalesce au lieu de nvl) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT a.of_conf_line_nb
     , a.of_conf_nb
     , a.comp_cd
     , a.of_nb
     , a.exec_begin_dt
     , b.z_date
     , COALESCE(b.z_nufiche, '00') AS fiche_nb
  FROM prd_confirmations a
       LEFT OUTER JOIN w_zfiche b
         ON b.z_aufnr   = a.of_nb
        AND b.z_date    = a.exec_begin_dt
--        AND b.z_nufiche = a.fiche_nb
 WHERE a.plant_cd = '4001'
   AND a.of_nb    = '1576093';
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h58.


 
 
 
 
Partenaires

Hébergement Web