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

Langage SQL Discussion :

Requete sql , manipulation champ sql


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut Requete sql , manipulation champ sql
    Bonjour,


    J'aimerais savoir si l'on peut réaliser ce genre de manipulation :

    champ manipulé : "monChamp" de la forme chaine1_chiane2_chaine3

    Supprimer tous les éléments de la table maTable si monChamp(en supprimant chaine3 et le "_")==chaine1_chiane2.

    Je ne peux pas utiliser seulement LIKE parce que je peux avoir pour monChamp :
    chaine1_chiane2_1_chaine3
    chaine1_chiane2_2_chaine3
    chaine1_chiane2_3_chaine3
    chaine1_chiane2_4_chaine3


    Merci d'avance pour les infos

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 293
    Par défaut
    Tu donnerais un exemple réel ?

  3. #3
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Pas de probleme

    Disons qu'il y a c'est infos dans le champs "monChamps" de la table "maTable" :

    L_personne_1_agee
    L_personne_2_agee
    L_personne_3_agee
    L_pere_agee
    S_mere_1_agee
    S_mere_1_agee2
    S_mere_jeune
    S_adulte_jeune
    R_adulte_jeune

    Et je vais disposer d'un chaine de caratere me permettant de trouver ce que je souhaite qui pourra etre égal à: L_personne, S_mere ou encore S_mere_1. cette chaine se nommme maChaine.

    Exemple de la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT monChamps FROM maTable WHERE monChamps(sans la derniere chaine de caretere et le "_")==maChaine
    Sij'utilisais LIKE et que maChaine=S_mere j'aurais comme réponse à la requete :
    S_mere_1_agee
    S_mere_1_agee2
    S_mere_jeune
    Ce qui n'est pas le résultat escompté.


    J'espere que c'est plus clair comme ca

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 293
    Par défaut
    Citation Envoyé par Katachana Voir le message
    Ce qui n'est pas le résultat escompté.
    OK... et quel est le résultat escompté ?

  5. #5
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Le résultat escompté : si maChaine=S_mere , récupérer seulement :
    S_mere_agee
    S_mere_jeune


    si l'on a maChaine=S_mere_1 , récuperer seuelement :
    S_mere_1_agee

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 293
    Par défaut
    Donc, le problème, c'est d'échapper le _ ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monChamps LIKE CONCAT(machaine, '\_%')

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Par défaut
    Salut.

    Perso, j'aurais testé si le début de monChamp est égal à maChaîne, genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select ... from ...
    where SUBSTR(monChamp,1,LENGTH(maChaine))=maChaine
    Après, ça dépend du SGBD utilisé et des fonctions disponibles...(le code montré fonctionne sous Oracle)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete SQL sur champ datetime si heure
    Par blacklolou dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 26/06/2012, 17h04
  2. Requete sur partie champ SQL
    Par pixworld dans le forum Requêtes
    Réponses: 6
    Dernier message: 14/06/2011, 17h14
  3. [REQUETE]Afficher un champ "case à cocher" dans une requête SQL-Access
    Par Amael ROCHE dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/04/2007, 11h07
  4. Pb sur une requête SQL (de champ vide)
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2004, 11h12
  5. [sql] [jointure] champs = substring(champs,1,5)
    Par DaxTaz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/05/2004, 12h45

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