Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 14/12/2011, 11h11   #1
Invité de passage
 
Inscription : août 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 4
Points : 0
Points : 0
Par défaut Affichage de stock

Bonjour,

J'ai une table de cette structure :

Référence_commande Article1 Qté1 Article2 Qté2 Art3 Qté3

xx0 art1 2 art2 1
xx1 art2 1 art1 4 art5 3
xx2 art3 2 art1 5 art2 6

Les références peuvent donc apparaître aussi bien dans la colonne article1 que dans la colonne article3. Tout dépend en fait du choix du client.

Comment puis-je à la fois lister toutes les références articles contenu dans les 3 champs, et afficher la sum en fonction de ces mêmes articles ?

Merci

EDIT : problem solved
naiku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 11h20   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

Je pense que le design de ta table n'est pas correct.
Si le client choisi 250 articles, tu vas créer 250 champs articles et 250 champs quantités ?
Tu devrais organiser ta table ainsi :
Code :
RefCde | RefArticle | Qte
Tu aurais :
Code :
1
2
3
4
5
xx0 | 1 | 2
xx0 | 2 | 1
xx1 | 2 | 1
xx1 | 1 | 4
xx1 | 5 | 3...
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 11h25   #3
Invité de passage
 
Inscription : août 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 4
Points : 0
Points : 0
J'ai oublié de le préciser, oui, la structure n'est pas bonne, mais je n'ai malheureusement pas le choix.

La solution que tu proposes est évidement la meilleure, mais je ne peux pas l'utiliser..pas en direct tout du moins.

Le client est limité à 12 ref différentes en fait.
naiku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 15h38   #4
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,
Il n'y a pas 36 soluces, si tu connais la limite du nombre d'articles tu peux tout récupérer en une seule passe avec quelque chose comme ça :
Code sql :
1
2
3
4
5
6
7
SELECT Article1, Qté1 FROM taTable
UNION
SELECT Article2, Qté2 FROM taTable
UNION
...
UNION
SELECT Article12, Qté12 FROM taTable
Je te laisse fouiller mais tu peux même récupérer je pense directement les sommes des quantités en une seule passe (regardes du côté des sous-requêtes dans le FROM)
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 18h20   #5
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bon allez parce que c'est toi , voici comment faire ton stock en une seule passe :
Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT 
   ssqry.article, 
   SUM(ssqry.qty) AS qty
FROM (
   SELECT `t_ventes`.`art1` AS article, `t_ventes`.`qty1` AS qty FROM `t_ventes`
   UNION
   SELECT `t_ventes`.`art2` AS article, `t_ventes`.`qty2` AS qty FROM `t_ventes`
   UNION
   SELECT `t_ventes`.`art3` AS article, `t_ventes`.`qty3` AS qty FROM `t_ventes`
) AS ssqry
GROUP BY 
   ssqry.article
ORDER BY 
   ssqry.article
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc 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 04h47.


 
 
 
 
Partenaires

Hébergement Web