Fonction jusqu'à en SQL ?

Bonjour,

j'ai hésité entre programmation ou bureautique mais je poste ici.

Voici ma requête:
SELECT DISTINCT (TCO),(qt_taille3+qt_taille4+qt_taille5)as quantite_totale,((qt_taille3+qt_taille4+qt_taille5)*(prix)) as prixtotal
FROM commande_ligne
GROUP BY (TCO);

Comme vous le voyez, je répete dans mon SELECT les qt_taille3, 4 etc... Et j'en ai 12.
Je désire savoir s'il existe une fonction qt_taille3 jusqu'à qt_taille12 pour accélerrer mon écriture.

Merci à l'avance pour votre aide ;-).

Lolow
Configuration: Windows XP Internet Explorer 8.0

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Non par contre ceci
    SELECT DISTINCT (TCO),(qt_taille3+qt_taille4+qt_taille5)as quantite_totale,
    (quantite_totale*prix) as prixtotal
    FROM commande_ligne
    GROUP BY (TCO); doit fonctionner (enfin je crois, pas certain, pas envie de vérif.)
    1. Justement, j'avais déjà essayé mais cela ne fonctionne pas :-s.
      #1054 - Unknown column 'quantite_totale' in 'field list' .

      Merci quand même pour ton aide ;-).

      J'attend vos réponses !
      1. quel langage? Tu peux utiliser PHP?
    2. Pour l'instant je test sur ma BDD mais ensuite oui je serais sur du PHP :-) .

      Solucheune ?
      1. $txtUnATreize=''";
        for ($i=1;$i<13;$i++)
        $txtUnATreize.=' qt_taille'.$i.' + ';
        substr($txtUnATreize, 0, -2)// pour supprimer le plus final...

        //c'est la ou je me rends compte que je fais naturellement compliqué car je pouvais simplement faire :
        Ou directement $txtUnATreize=''qt_taille1 + qt_taille2 +qt_taille3 ";

        Et quand tu avs préparer ta requête Sql
        $sql = 'SELECT DISTINCT (TCO),('. $txtUnATreize .')as quantite_totale,
        ('. $txtUnATreize .'*prix) as prixtotal '[...]
        1. En effet bien vu... on peut faire ce qu'on veut avec des variables.
          Merci beaucoup à toi ;-) .

          Problème résolu.
          A bientôt.

          Lolow