2012-12-24 7 views
0

J'ai recherché le Web et le SO sans trouver de réponse à une question plutôt simple. La chose peut être que je ne sais pas comment l'exprimer. Voici ce que j'essaie de faire.Requête SQL à 2 dimensions

J'ai une table MySQL avec plusieurs UGS (appelons-le skutable) et pour chaque ligne j'ai un certain nombre de colonnes décrivant le SKU: nom, prix, gamme de prix (I ont 4 différentes fourchettes de prix), semaine de la publication, ... et un certain nombre de colonnes décrivant les performances de la SKU: revenus, marge, quantitysold ...

Ce que je voudrais faire si l'écriture d'une requête SQL qui me permet d'afficher (avec PHP) une table qui montrerait par exemple:

En ligne: semaines/Dans la colonne: prix-gammes/Dans la cellule : le% de SKU appartenant à une certaine fourchette de prix pour une semaine donnée.

ou un autre exemple serait:

En ligne: semaines/Dans la colonne: prix-gammes/Dans la cellule: le% des qté vendus pour UGS appartenant à une certaine gamme prix pour une semaine donnée .

J'ai essayé d'écrire une requête qui fournirait un tableau de plusieurs matrices mais cela ne semble pas fonctionner.

Si quelqu'un sait comment faire?

grâce,

E.

+0

Ce que vous décrivez est un "tableau croisé dynamique". Malheureusement, mysql n'a pas cette fonctionnalité, d'autres bases de données le font. Mais si vous recherchez "mysql pivot", vous pouvez trouver des moyens d'écrire des requêtes pour l'émuler. – Barmar

Répondre

0

Votre requête SQL doit retourner une ligne (% de SKU,% de la quantité vendue) pour chaque combinaison: semaine * gamme de prix * une autre dimension-si- nécessaire. Ensuite, faites votre logique "tabular/cross tab" en PHP en bouclant les résultats, ou faites une boucle de min à max pour chaque dimension et cherchez les données correspondantes dans les résultats.

+0

Merci beaucoup pour vos réponses. Grâce à vos indications, j'ai trouvé la réponse sur http://www.artfulsoftware.com/infotree/queries.php#523! – justberare