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 :

Requête imbriquée


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Requête imbriquée
    Bonjour,

    Dans ma table j ai un champs(json) qui contient des données sous format json :
    {"a":"vgg90grlrorb84fchpmgms4573","b":[null],"c":"16/Nov/13 00:49:15","d":"16/Nov/13 00:49:15",
    "e":"vgg90grlrorb84fchpmgms4573","f":1,"g":0
    et la je cherche à récupérer la valeur de f

    j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT f from ma_table where json= (SELECT `json`) from ma_table
    mais ma requête ne marche pas

    Pourriez vous m'aider svp

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Quel SGBD utilises-tu ?
    Est-ce bien le contenu de ta colonne pour une seule ligne que tu donnes en exemple ?
    Si cette structure est répétée à chaque fois, tu peux extraire ta valeur avec cette expression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SUBSTRING(macolonne FROM POSITION(',"f":' INTO macololonne) + 5 
        FOR POSITION(',"g":' INTO macololonne) - POSITION(',"f":' INTO macololonne) - 5)
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    j'utilise MySQL

    Oui c 'est bien le contenu d'une seule colonne

  4. #4
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    j'ai essayé la requête mais ça marche pas, j ai aussi un souci la taille de la chaine que je veux récupérer est variable

    j ai essayé de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SUBSTR (macolone, position, taille) 
    FROM from ma table
    je donne la forme des données de ma colonne

    {"id":"vgg90grlrorb84fchpmgms4573","the":[null],"time":"16/Nov/13 00:49:15","crea":"16/Nov/13 00:49:15",
    "ss":"vgg90grlrorb84fchpmgms4573","nbr":1,"Jour":0,
    "se":"vgg90grlrorb84fchpmgms4573","Vi":"16/Nov/13 00:49:15","referer":null,"date":"16/Nov/13 00:49:15"}
    moi je veux récupérer :vgg90grlrorb84fchpmgms4573

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    il va falloir combiner l'utilisation de SUBSTR et de LOCATE.

    La derniere fonction permet de retourner la 1ere occurrence d'une sous-chaine dans une chaine.

    En gros niveau algo :
    - recherchez et extraire la sous-chaine qui commence par "ss":"
    - recherchez le 1er index de la sous-chaine "," dans la 1ere sous-chaine

    Là vous aurez les index de début et de fin de votre valeur.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Citation Envoyé par bella125 Voir le message
    j'ai essayé la requête mais ça marche pas
    Et penses-tu qu'avec une description aussi détaillée du résultat de cette requête on puisse t'aider à la mettre au point ?
    As-tu essayé de remplacer les fonctions du langage SQL normalisé (qui est la spécialité de ce forum) par celles du dialecte de ton SGBD ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. Pb requête imbriquée
    Par ddams dans le forum Requêtes
    Réponses: 11
    Dernier message: 20/04/2004, 12h13
  2. [Requête] Faire une requête imbriquée?
    Par sekiryou dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2004, 22h52
  3. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29
  4. Requêtes imbriquées ?
    Par Ph. B. dans le forum XMLRAD
    Réponses: 7
    Dernier message: 06/05/2003, 13h19
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15

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