Page 1 sur 1

Probleme de requete et concatenation

Posté : 27 oct. 2006, 11:48
par Nicko
j'ai une table dans laquelle les mois sont dans une colonne et les années dans une autre.

J'ai besoin de ressortir pour un client les 12 derniers mois ecoulés.
Donc je pensai concatener mes 2 colonnes pour obtenir un format comme 200610 (soit octobre 2006).

mais c'est la premiere fois que je fais de la concatenation et je ne trouve pas la bonne syntaxe

Code : Tout sélectionner

$resultat=mysql_query ("SELECT st_annee||st_mois AS vardate,* FROM donne_stat WHERE st_id_user=$num AND vardate>$mavariable");
ou

Code : Tout sélectionner

$resultat=mysql_query ("SELECT CONCAT(st_annee,st_mois) AS vardate,* FROM donne_stat WHERE st_id_user=$num AND vardate>$mavariable");
ou bien suis je completement a coté de la plaque auquel cas ... Aidez moi au secours :shock:

Posté : 27 oct. 2006, 12:59
par Ajoloca
Bonjour,

La concaténation n'est pas en cause, c'est "*" qui pose problème.

Tu ne peux pas mélanger les deux types de sélection. Si tu as sélectionné un champ spécifique tu devras spécifier tous les autres un par un.

Posté : 27 oct. 2006, 13:10
par Ryle
C'est toujours mieux de nommer explicitement les champs pour savoir ce que l'on récupère, ceci dit, sous certaines bases (oracle nottament, j'ai pas essayé chez les autres, à vous de faire le test :)), si tu préfixes l'étoile (aussi bizare que ca puisse paraitre) avec le nom de la table, il les trouve normalement :

Code : Tout sélectionner

SELECT champ1, champ2, t.* FROM maTable t WHERE ...