Concatenation mysql

Fermé
manuplt - 19 juin 2006 à 11:09
 Korri - 27 oct. 2008 à 09:55
Bonjour à tous,

J'ai un petit soucis de requete mysql.

Je vais essayer d'etres clair dans mes explications :

Je souhaite obtenir le code postal d'une ville par rapport à son code INSEE qui lui est composé du numero de région+le numéro de la commune.

Ex Compiègne : region = 22
Code commune = 151
donc le code INSEE = 22151

Mais je ne parviens pas a faire la requete qui me permet de faire cette opération de concaténation.

Je suis pour le moment arrivé à ça mais ca ne fonctionne pas correctement :

Select
GEO_COMMUNE.NCCENR,
GEO_COORDONNE.CODE_INSEE,
GEO_COORDONNE.CODE_POSTAL
From
GEO_COMMUNE
INNER JOIN GEO_COORDONNE
ON GEO_COORDONNE.CODE_INSEE=GEO_COMMUNE.REG+GEO_COMMUNE.COM
LIMIT 100

Je ne pense pas que le + soit l'opérateur de concaténation en mysql...

Si quelqu'un peut m'aider et déja me dire si c'est possible.

Merci

(mysql version 5.0.22)
A voir également:

7 réponses

Réponse un peut tardive, mais oui tu peut trés bien utiliser concat dans une clause WHERE !
1
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
19 juin 2006 à 11:24
Salut
Peux-tu un peu expliquer ce que tu veux faire :
tu veux que tes membres cherchent par la ville ou la région et qu'on leur donne le code postal?
c'est ça?
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
19 juin 2006 à 11:34
concat devrait faire la manip, non
mysql> select concat('Hello word, it is ' ,  now(), ' Bye...');
+--------------------------------------------------+
| concat('Hello word, it is ' ,  now(), ' Bye...') |
+--------------------------------------------------+
| Hello word, it is 2006-06-19 11:35:17 Bye...     |
+--------------------------------------------------+
1 row in set (0.00 sec)
0
manuplt Messages postés 3 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 6 juillet 2006
19 juin 2006 à 11:43
Oui c'est a peut pres ca...

Je veux obtenir le code postal d'une ville a partir de son code INSEE qui d'ailleur est composé du numéro du departement + du code commune INSEE et non pas du code region + code commune INSEE comme je l'avais dis plus haut.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
manuplt Messages postés 3 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 6 juillet 2006
19 juin 2006 à 11:47
Effectivment la fonction concat() semble fonctionner a merveille. j'ai mes résultats.

Select
GEO_COMMUNE.NCCENR,
GEO_COORDONNE.CODE_INSEE,
GEO_COORDONNE.CODE_POSTAL
From
GEO_COMMUNE
INNER JOIN GEO_COORDONNE
ON GEO_COORDONNE.CODE_INSEE=CONCAT(GEO_COMMUNE.REG, GEO_COMMUNE.COM)
LIMIT 100


Ce qui est le plus bisare c'est que j'avais deja essayé plus ou moins concat() mais sans succes, peut etre parce que les champs etait des entiers et que maintennant c'est des varchars.

Je laisse le fil ouvert si quelqu'un a une réponse à ça et si quelqu'un peut également me dire a quoi sert le + en mysql (car il retourne pas d'erreur)

Merci pour vos réponses
0
le "+" sert tout simplement à additionner !!
0
Peux t'on utiliser concat dans la clause where
exple
select tot from table where concat(a,b)='".$a.$b."' ???????????????????
0