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 :

Probleme SQL Query


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut Probleme SQL Query
    Salut

    J ai un table de ce type:

    Id ParentID etc...
    -- ---------
    1
    2 1
    3 1
    4 1

    Je fais une requete avec differentes conditions : j aimerais qu lorsque l un des record ressort je recupere egalement les autres qui lui sont rattache ;

    Par exemple; je recupere Id-> 1 ; je recupere 2 ;3 et 4 ou alors si je recupere 3 je recupere egalement 1, 2, 3, et 4

    Merci d avance

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Auto-jointure.

    Ouverte au cas où on retourne des lignes sans filles.

    Et si c'est récursif (on veut les fils et les petit-fils et ainsi de suite) alors il faut passer par une CTE.

  3. #3
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Merci

    Mais fonctionne pas...

    Si j ai , par exemple, une table comme cela:

    Id ParentID flag
    -- -------------
    1 4
    2 1 2
    3 1 3
    4 1 5

    Et qu ma recherche est "Where flag = 2 or flag 3" je recois record 2 et 3 mais j aimerais egalement avec 1 et 4

    Et si je recherche Flag = 4 j aimerais aussi recupere 2, 3 et 4

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Tu peux poster ta requête ?

    Car je persiste et signe : auto-jointure et ça marchera forcément.

  5. #5
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from table1 t1 inner join table1 t2 on t1.id=t2.parentid where ...
    Du coup il me retourne que les records ou id = parentid

  6. #6
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Et ton filtre du flag, il porte sur t1 ou t2 ?

    Et accessoirement, moi j'aurais filtré sur t1.parentid = t2.parentid or t1.id = t2.parentid puisque tu veux l'élément racine et ses enfants.

    Si tu changes, normalement ça doit marcher.

Discussions similaires

  1. Probleme de query SQL et XML
    Par byrong dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/10/2013, 17h48
  2. Probleme sql query
    Par AurelienNF dans le forum Langage
    Réponses: 5
    Dernier message: 14/09/2010, 19h48
  3. as400 sql/QUERY probleme de dates
    Par philswiss dans le forum Requêtes
    Réponses: 1
    Dernier message: 19/07/2007, 06h16
  4. Recherche Data pour m'exercer en SQL-Query
    Par Oneill dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 13/10/2004, 11h43
  5. probleme sql avec delphi
    Par lil_jam63 dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/02/2004, 04h32

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