IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Like in en SQL Server


Sujet :

MS SQL Server

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut Like in en SQL Server
    Bonjour,

    J'essaye de faire une requête mais je ne sais pas si cela est bien possible.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * 
    FROM code_postal 
    WHERE cp LIKE (SELECT debut_cp FROM departement WHERE departement.id_region=1)

    Vous voyez l'idée?
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  2. #2
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    Bonjour,
    Effectivement le LIKE ne fonctionne pas comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM code_postal 
    WHERE cp LIKE '01%';
    Dans votre cas si les données sont au format chaine de caractère (ce qui est nécessairement le cas pour LIKE, j'essayerai la requete suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * 
    FROM code_postal 
    WHERE substring(cp,1,2) IN (SELECT debut_cp FROM departement WHERE departement.id_region=1)

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 848
    Points : 52 966
    Points
    52 966
    Billets dans le blog
    6
    Par défaut
    Attention : sémantiquement la commune ou le village relatif à un code postal n'est pas forcément dans le même département. Les exemples sont légion !
    Par exemple Laveyrune a pour code postal 48250 (48 étant le code de la Lozère), alors qu'elle est située dans l'Ardèche (07).
    Même chose pour toutes les communes de Corse...

    A+
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Ah ben ça alors! Pour une surprise!

    Je vois que tes compétences ne se limitent pas à la base de données SQL Pro

    Merci bcp

    Du coup, pas le choix! il va falloir que l'on référencie chaque code postaux par rapport au departement (à travers un id_departement sur la table des codes postaux)

    C'est ce que je voulais éviter mais bon... la requête n'en sera que plus performante
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Pour information, voici la liste des villes/villages dont les codes postaux ne correspondent pas au numéro de leur département :

    Ci dessous la liste (hors Corse) des villes dont les deux premiers chiffres sont différents du numéro de département.



    Insee Nom Code postal
    020285 Escaufourt 59360
    030250 Saint Pierre Laval 42620
    040058 Claret 05110
    040066 Curbans 05110
    040150 Piégut 05130
    040154 Pontis 05160
    040170 Rochette 06260
    040194 Saint Pierre 06260
    040234 Venterol 05130
    050047 Éourres 26560
    070136 Laveyrune 48250
    140174 Condé sur Noireau 61790
    150105 Leyvaux 43450
    240179 La Feuillade 19600
    240189 Fougueyrolles 33220
    240335 Port Sainte Foy et Ponchapt 33220
    260374 Villebois les Pins 05700
    270193 Croth 28520
    280131 Dommerville 91670
    380446 Saint Pierre d'Entremont 73670
    390012 Antorpe 25410
    390102 Chancia 01590
    390274 Lajoux 01410
    390283 Lavancia Épercy 01590
    440060 Fresne sur Loire 49123
    440219 Vritz 49440
    510478 Saint Eulien 52100
    510522 Sapignicourt 52100
    530187 Ravigny 61420
    550227 Han devant Pierrepont 54620
    590097 Boursies 62147
    590176 Doignies 62147
    590293 Haverskerque 62350
    590405 Moeuvres 62147
    690228 Saint Maurice sur Dargoire 42800
    710085 Change 21340
    740109 Éloise 01200
    740235 Saint Germain sur Rhône 01200
    800756 Thièvres 62760
    830105 Riboux 13780
    860042 Buxeuil 37160
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


Discussions similaires

  1. [SQL Server 2005] Bug avec LIKE
    Par guk92 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 09/08/2011, 13h33
  2. [SQL Server 2005] équivalent like '%' pour int
    Par Zobbiwan dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/10/2008, 15h27
  3. Problème LIKE Procédure stocké SQL Server 2000
    Par Pilhole dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 18/02/2008, 09h24
  4. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo