pbm left join

pbm left join - SQL/NoSQL - Programmation

Marsh Posté le 17-04-2008 à 11:33:09    

j'ai deux tables :
- une table structures avec champs : id, nom, description, codepostal.
- une table departements avec champs : codepostal, nom

 

j'essaie avec une requete d'avoir toutes les infos des structures avec le nom du departement.

 
Code :
  1. SELECT s.id, s.nom, s.description, s.codepostal, d.nom departement FROM structures s LEFT JOIN departements d ON SUBSTRING(s.codepostal, 2)=d.codepostal
 

Ca me retourne bien les structures mais avec NULL dans la colonne departement au lieu du nom du departement.
C'est quoi la boulette?


Message édité par Profil supprimé le 17-04-2008 à 11:35:01
Reply

Marsh Posté le 17-04-2008 à 11:33:09   

Reply

Marsh Posté le 17-04-2008 à 11:39:22    

ton join ne se fait pas, tu es sur de ton substring?

Reply

Marsh Posté le 17-04-2008 à 11:42:58    

Exemple d'entrées dans la table departements :

 

codepostal - nom - idregion
01   Ain   22
02  Aisne  19
03  Allier  3
04  Alpes de Hautes-Provence  21
05  Hautes-Alpes  21
06  Alpes-Maritimes  21
07  Ardèche  22
08  Ardennes  8

 

Exemple d'entrées dans la table structures :

 

id - nom - description - codepostal
1       XXX  XXX...  93210
2  XXX XXX…...  75003
3  XXX  XXX...  06200
4  XXX  XXX...  13015

 

Ca devrait être bon non?


Message édité par Profil supprimé le 17-04-2008 à 11:43:07
Reply

Marsh Posté le 17-04-2008 à 22:54:41    

substring(chaine, position, nombre)
 
là, ton substring(s.codepostal, 2) retourne... le second caractère du code postal OU les 4 derniers caractères de ton code postal (selon l'implémentation de la fonction dans ton sgbd)
 
il faut donc faire (au choix)
 
left(s.codepostal, 2)
substring(s.codepostal, 1, 2)
 

Reply

Marsh Posté le 18-04-2008 à 10:14:05    

En effet erreur dans le substring merci bien  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed