Requêtes croisée

Par raphaelsampan@gmail.com, il y a 13 ans


Base de données MySQL

Salut à tous , je voudrai savoir si c'est possible de faire des requêtes croisées en mysql, si oui comment ? et pour terminer comment cakephp peut il réaliser cela ?? merci

6 réponses

raphaelsampan@gmail.com, il y a 13 ans

ok keisuke , j'essayerai comme tu la dit.

DexX, il y a 13 ans

Tu entends quoi par des requêtes croisées ? Imbriquées ? Des jointures ?

raphaelsampan@gmail.com, il y a 13 ans

Je veux dire une requete croisé comme celui que nous propose access : faire un tableau croisé dynamique avec MySQL par exmple j'ai une table comme sa dans ma base :
exemple1:

Table ventes
+--------+---------+---------+------+
  mois client montant
+--------+---------+---------+------+
janvier M.A.    2045
+--------+---------+---------+------+
janvier M.A. 123
+--------+---------+---------+------+
janvier B.H. 1034
+--------+---------+---------+------+
janvier N.S. 765
+--------+---------+---------+------+
janvier C.G. 34
+--------+---------+---------+------+
janvier E.B. 983
+--------+---------+---------+------+
fevrier M.A. 678
+--------+---------+---------+------+
fevrier B.H. 1254
+--------+---------+---------+------+
fevrier N.S. 98
+--------+---------+---------+------+
fevrier C.G. 459
+--------+---------+---------+------+
fevrier E.B. 2451
+--------+---------+---------+------+
février S.R. 34
+--------+---------+---------+------+
mars B.H. 763
+--------+---------+---------+------+
mars C.G. 896
+--------+---------+---------+------+
mars E.B. 1439
+--------+---------+---------+------+

et je veux avoir en sortie un tableau comme celui ci-dessous
exemple2:

+--------+---------+---------+------+
| client | janvier | fevrier | mars |
+--------+---------+---------+------+
| B.H | 1034 | 1254 | 763 |
| C.G | 34 | 459 | 896 |
| E.B | 983 | 2451 | 1439 |
| M.A | 2168 | 678 | 0 |
| N.S | 765 | 98 | 0 |
| S.R | 0 | 34 | 2417 |
+--------+---------+---------+------+
Keisuke, il y a 13 ans

Hi,

D'après moi, plusieurs solutions:
1- Faire une requête avec des IF pour faire les calculs et groupe.
2- Select all, puis faire un algorithme qui fait le tri et les calculs.

Pour la première méthode, une recherche google t'aidera, j'ai trouvé une question équivalente avec une réponse utilisant les IF dans la requête.
@+

BoBobby, il y a 13 ans

J'ai pas touché à ça depuis un moment, mais j'irai surement chercher du côté de Group By et SUM