|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Celine Delfuego Inscription : mai 2010 Messages : 36 ![]() |
Bonjour,
J'ai pas mal cherche, mais mes requetes restent sans succes J'ai deux tables ou des doublons relatifs se baladent... table t1 ID - incident - quantite1 23 - 2345 - 50 24 - 2345 - 50 32 - 2456 - 30 26 - 4356 - 15 table t2 ID - incident - Nom 45 - 2345 - A 46 - 2345 - A 57 - 2456 - A 78 - 4356 - B Donc seul point de liaison: l'incident. Je ne l'ai pas mis, mais ca arrive que les quantites soient NULLS (donc ca implique un ISNULL(quantite,0) Mon but final est d'obtenir: A = 70 (donc SUM + WHERE Nom = A +GROUP BY sur Nom) J'ai tout essaye (UNION, SELECT, INNER JOIN, HAVING, GROUP BY) et j'arrive a obtenir: A = 100 (adition des doublons uniquement) ou A =30 (exclusion total des doublons) et bien sur la plus part du temps A=130... Je ne sais plus quel code mettre ici... il y a eu tellement de changements (avec tellement de message d'erreurs Help ![]() Miiiiiiii Je craaaque!
|
|
|
00
|
|
|
#2 |
![]() ![]() |
Je crois comprendre que tu peux faire une jointure entre t1 et t2 sur la colonne 'incident' mais tu es censée l'obtenir comment ton A = 70 ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Celine Delfuego Inscription : mai 2010 Messages : 36 ![]() |
Normalement les Incidents sont uniques, c'est un beug lors de l'ecriture qui creer ces doublons (j'aimerai bien les supprimer directement, mais je n'en ai pas le droit)
En tous cas c'est: 1 incident -> 1 nom 1 nom -> n incidents mmmm... Parlons SQL ce sera pit etre plus clair, mais j'ai un peu honte de montrer ca... c'est du bricolage Mais voici une requete (qui ne marche pas a cause des deux GROUP BY je crois; mais si j'enleve le GROUP BY et le MIN ben je retrouve mes chers doublons malgre le DISTINCT) En tous cas ca represente bien l'idee de base: Code :
J'ai aussi regarde sur: http://sqlpro.developpez.com/cours/doublons/#L3 Avec ca j'arrive a avoir la somme de mes doublons (A=100)... Erf.... |
||
|
|
00
|
|
|
#4 | ||||
![]() ![]() |
Si je comprends bien, sont des doublons les lignes qui ont le couple {Incident, quantite} identiques.
Extrayons de t1 les couples distincts : Code :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||
|
00
|
|
|
#5 | ||
![]() ![]() |
J'imagine qu'il faut faire un distinct sur les deux tables.
Le ISNULL m'amène à pense qu'il s'agit de MS SQL-Server : Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#6 |
![]() ![]() |
Exact ! Je n'avais pas fait attention au doublon {incident, nom} dans T2 !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#7 | ||
|
Candidat au titre de Membre du Club
![]() Celine Delfuego Inscription : mai 2010 Messages : 36 ![]() |
Youhouuuuu!!
Je n'avais pas chercher a faire un DISTINCT sur les deux bases moi non plus Le WITH a ete totalement refuse par mon SQL... dommage. En revanche du coup j'ai fait un double distinct (pourtant simple Code :
PS: oui 50+30 = 80 et non 70... je n'etais pas reveillee hier |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com