Bonjour,
voila je tourne en rond depuis 2 jours sur un pb de jointures liant 4 tables. Tout va bien tant que je lui demande pas d'afficher un certain type de données.
voici ce que j'obtiens en visuel :
avec la requete suivante :+----------+---------------+-----------------+-------+-----+------+----------+-------------+-------------+
| ID stock | libelle pack | libelle produit | sérial | etat | Actif | ID cmd | stock_cmd | ID contenu |
+----------+---------------+-----------------+-------+-----+------+----------+-------------+-------------+
| 19 | | Alim R | | eC | 1 | 7 | 19 | 19 |
-----------------------------------------------------------------------------------------------------------------
| 12 | pack+alim | R 128Mo |0-012 | eC | 1 | 7 | 20 | 20 |
-----------------------------------------------------------------------------------------------------------------
| 18 | pack+alim | Alim R | | eC | 1 | 7 | 20 | 20 |
-----------------------------------------------------------------------------------------------------------------
| 58 | | Boitier |0-001 | R | 0 | 12 | 27 | 27 |
-----------------------------------------------------------------------------------------------------------------
| 59 | | Boitier |0-002 | eC | 1 | 12 | 27 | 27 |
-----------------------------------------------------------------------------------------------------------------
| 60 | 1er ss pack | R 512Mo |0-019 | eC | 1 | 12 | 28 | 28 |
-----------------------------------------------------------------------------------------------------------------
| 34 | 1er ss pack | Alim R | | eC | 1 | 12 | 28 | 28 |
-----------------------------------------------------------------------------------------------------------------
| 57 | 1er ss pack | R 512Mo | 0-006 | R | 0 | 12 | 28 | 28 |
+----------+---------------+-----------------+-------+-----+------+----------+-------------+-------------+
Hors je devrais obtenir ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT stock_historique.actif, stock_historique.stock_id, stock_historique.stock_cmd, stock.etat, stock.sn, stock.stock_id, produit.nom as libelle, commande_contenu.*, commande.id_client, commande.id_commande, commande.type, pack_sous_pack.nom FROM stock_historique INNER JOIN stock USING(stock_id) INNER JOIN produit USING(produit_id) INNER JOIN commande_contenu USING(stock_cmd) LEFT JOIN pack_sous_pack ON pack_sous_pack_id = sous_pack_id INNER JOIN commande ON commande_contenu.commande_id = commande.id_commande WHERE commande.id_client='004617' GROUP BY stock.stock_id ORDER BY stock_historique.stock_cmd ASC
Je ne dis pas que le résultat que j'obtiens n'est pas logique, il l'est vu que j'ai des produits dans des packs et qu'à la jointure apparemment il ne fait plus cette différence et donne un numéro d'id contenu à tout produit appartenant au pack ciblé.+----------+---------------+-----------------+-------+-----+------+----------+-------------+-------------+
| ID stock | libelle pack | libelle produit | sérial | etat | Actif | ID cmd | stock_cmd | ID contenu |
+----------+---------------+-----------------+-------+-----+------+----------+-------------+-------------+
| 19 | | Alim R | | eC | 1 | 7 | 19 | 19 |
-----------------------------------------------------------------------------------------------------------------
| 12 | pack+alim | R 128Mo |0-012 | eC | 1 | 7 | 20 | 20 |
-----------------------------------------------------------------------------------------------------------------
| 18 | pack+alim | Alim R | | eC | 1 | 7 | 20 | 20 |
-----------------------------------------------------------------------------------------------------------------
| 58 | | Boitier |0-001 | R | 0 | 12 | 27 | 27 |
-----------------------------------------------------------------------------------------------------------------
| 59 | | Boitier |0-002 | eC | 1 | 13 | 27 | 29 |
-----------------------------------------------------------------------------------------------------------------
| 60 | 1er ss pack | R 512Mo |0-019 | eC | 1 | 14 | 28 | 30 |
-----------------------------------------------------------------------------------------------------------------
| 34 | 1er ss pack | Alim R | | eC | 1 | 12 | 28 | 28 |
-----------------------------------------------------------------------------------------------------------------
| 57 | 1er ss pack | R 512Mo | 0-006 | R | 0 | 12 | 28 | 28 |
+----------+---------------+-----------------+-------+-----+------+----------+-------------+-------------+
J'ai beau faire la requete dans un sens comme dans l'autre c'est à dire partir de la table commande -> table stock historique (ce qui là n'est plus logique), le problème reste le même, l'affichage cafouille quand je lui demande les informations contenues dans la table commande_contenu... hors ce sont les informations les plus importantes
je ne sais plus quoi faire
si quelqu'un a une idée je suis preneuse.
merci par avance.
Partager