Probleme avec requetes imbriquees

Probleme avec requetes imbriquees - SQL/NoSQL - Programmation

Marsh Posté le 19-10-2006 à 20:23:35    

Bonjour!
 
J’ai un petit probleme que j’essais de resoudre depuis quelques jours.
 
J’ai une table qui contient toutes les activites pour un departement de qualite, a savoir pour chaque piece fabriquee qu’on examine, les defauts qui y sont associees: donc la structure de ma table Table_qualite est comme suit:
PieceID          defaut_ID             Ligne_Production          Piece_caracterisque1     Piece_carac2             scan_date
Considerant que pour une piece on peut avoir plus de un defaut. S’il n’y a pas de defaut on met un code_defaut=GOOD’. S’il y a au moins un defaut dans la piece, elle est rejetee. Donc dans ma table j’ai un enregistrement pour chanque defaut trouve sur une piece
Je dois en fait calculer le pourcentage de defaut par ligne de production journalier qui est egal au (nombre de pieces rejectees/ligne de production) divisee par le (nombres de pieces dans l’echantillon qu’ on a consideree).
 
J’ai fait une premiere requete (samples_units) qui me donne regroupe les donnees de ma Table_qualite par piece:
SELECT Table_qualite.PieceID, Table_qualite.scan_date, Table_qualite.ligne_production
FROM Table_qualite
GROUP BY Table_qualite.PieceID, Table_qualite.scan_date, Table_qualite.ligne_production;
 
J’ai une autre requete (Nb_pieces_sample) qui me me donne le nombre de pieces constituant l’echantillon pour chaque ligne de production. Le code est le suivant:
 
SELECT Count(samples_units.PieceID) AS Samples, samples_units.ligne_production, samples_units.scan_date
FROM samples_units
GROUP BY samples_units.ligne_production, samples_units.scan_date;
 
D’autre part, dans une 3e requete (samples_piece_reject), je calcule le nombre de pieces par ligne de production qui ont ete rejetee. Donc c-a-d dont le code de defaut  est <> {GOOD}.
Encore une fois, j’ai une rpremiere requete qui me donne la liste de pieces rejetee:
 
SELECT DISTINCT Table_qualite.PieceID, Table_qualite.scan_date, Table_qualite.ligne_production
FROM Table_qualite
WHERE Table_qualite.PieceID not like 'NODEF'
GROUP BY Table_qualite.PieceID, Table_qualite.ligne_production, Table_qualite.scan_date;
 
Ensuite j’obtiens le nombre de pieces rejetees par ligne avec le code suivant (requete: Nb_piece_reject_ligne):
 
SELECT count(samples_piece_reject.PieceID) AS Rejects, [samples_piece_reject].scan_date, [samples_piece_reject.ligne].production
FROM samples_piece_reject
GROUP BY [samples_piece_reject].ligne, [samples_piece_reject].scan_date;
Je sais: j’aurais pu obtenir le meme resultat juste avec 2 requetes, mais je suis vraiment pas forte avec les requtes imbriquees.
 
Donc finalement, pour obtenir le pourcentage de defaut par ligne de production [(nombre de pieces rejectees)/ nombres de pieces dans l’echantillon], j’ai une requete (Pourcentage) dans laquelle je divise chaque ligne de ma requete (Nb_piece_reject_ligne) par la ligne correspondante de ma requete (Nb_pieces_sample).  
 
Le probleme c’est que ma requte (Nb_piece_reject_ligne) ne me donne aucun enregistrement pour les ligne de productions dont toutes les pieces sont bonnes. Ce qui fait que ma requete (Pourcentage), ne m’affiche par les lignes de production sans pieces defectives.
 
Donc j’essai de creer un requete quand je calcule le nombre de pieces rejetees par ligne de production, qu’elle m’affiche 0 pour les lignes donc toutes les pieces sont bonnes.
 
Quelqu’un aurait un idee comment resoudre ce problem?
 
Merci beaucoup d’avance

Reply

Marsh Posté le 19-10-2006 à 20:23:35   

Reply

Marsh Posté le 19-10-2006 à 20:36:47    

En resume ma question est: Comment je fais alors pour avoir un requete qui me renvoie les lignes de production qui ont des  pieces defectives et celles dont toutes les pieces sont bonnes?
 
Merci

Reply

Marsh Posté le 20-10-2006 à 03:34:55    

L'est tard, c'est pas clair donc joker :d
 
Tu veux pas résumer clairement ton mcd parce que là j'ai comme un vilain doute :)
 
Sinon déjà une piste si t'as rien quand c'est bon, suffit de comparer à la liste complète, en gros faire une différence :whistle:

Reply

Marsh Posté le 20-10-2006 à 07:07:27    

Bonjour,
dur, dur, de suivre un fil qui passe simultanément sur SGBD et VB/VBA/VBS
Cordialement

Reply

Marsh Posté le 20-10-2006 à 10:48:18    

c'est bon cette condition ?
=>
not like 'NODEF'  
 
c'est pas  
<> 'NODEF'  
que tu voulais plutôt mettre ?
 
Et chacune de tes requêtes te retourne
individuellement des lignes / résultats ?
 
 

Reply

Marsh Posté le 21-10-2006 à 09:59:19    

Desolee , Au fait j'ai mal exprime mon probleme. C'est pas grave, laisser faire.  
Merci quand meme

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed