CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

MySQL - Selectionner les frères

TheDarkAvenger
TheDarkAvenger
Niveau 2
05 avril 2012 à 19:05:14

:salut:

j'ai un problème dans mysql, je sais faire que des selects hyper basique, du coup là j'ai des pb :-(

J'ai deux tables :
dossier (#idDossier, nomDossier, descriptionDossier);
et
lienDossier(#idDossier, idDossierePere);

imaginons que je connaisse l'id d'un dossier

comment je récupère les "frères" de ce dossier ? (c'est-à-dire ceux qui ont le même père)

bon déjà j'imagine qu'il faut rejoindre les deux tables en faisant un
select * from dossier, lienDossier where dossier.idDossier = lienDossier.idDossier

et pour la suite je bloque :-(

slash_snakepit
slash_snakepit
Niveau 9
05 avril 2012 à 20:25:23

Si tu mets en clé primaire #idDossier dans lienDossier, ca signifie qu'un dossier ne peut pas avoir 2 dossiers pères c'est pourquoi à ta place, je mettrai l'idDossierPere dans la table dossier mais tout dépend de tes besoins (que je ne connais pas).

Dans ce cas :

SELECT `nomDossier` FROM dossier WHERE `idDossierPere` = (SELECT `idDossierPere` FROM dossier WHERE `idDossier` = x)

TheDarkAvenger
TheDarkAvenger
Niveau 2
05 avril 2012 à 20:36:22

merci, j'ai fait exprès de mettre idDossier en clef primaire dans lieu dossier, de façon à ce qu'il n'ai qu'un père justement, pour faire un arbre (le but c'est d'avoir une arborescence comme dans les dossiers de windows par exemple)

Du coup en faisant ça je vois pas trop comment faire vu que le principe de la requête que tu m'as donné marcherait pas :-(

Underworld4
Underworld4
Niveau 61
06 avril 2012 à 21:24:01

Tu peux mieux exprimer ce que tu veux faire car je n'ai pas très bien compris en fait :(

Underworld4
Underworld4
Niveau 61
06 avril 2012 à 21:32:30

Déja si tu as un idDossierPere, tu dois avoir une table DossierPere que je ne vois pas.

Ensuite si tu veux connaitre les "frères" de tes dossiers tu aurais donc 2 tables

DossierPere:
- idDossierPere (clé primaire)
- libelle
- ...

"DossierFils"
- idDossierFils (clé primaire)
- idDossierPère (clé étrangère)
- libelle

Ensuite si tu veux faire une requete pour rechercher tous les dossiers qui ont le même pere tu fais

"SELECT libelle from DossierFils where idDossierPere = '10'"

Après ton truc de lienDossier j'ai pas très bien compris

slash_snakepit
slash_snakepit
Niveau 9
07 avril 2012 à 01:49:02

@Underworld

Sauf qu'un dossier peut être à la fois père et fils, j'imagine qu'il souhaite avoir plusieurs niveaux, donc ton idée est bancale

TheDarkAvenger
TheDarkAvenger
Niveau 2
07 avril 2012 à 12:27:48

En fait, IdDossierPere ça représente un IdDossier, donc il n'y a bien qu'une seule table Dossier

Bon, pour l'instant j'ai réussi à passer outre ce problème car j'avais réussi à faire une fonction pour retrouver le père d'un dossier et une autre pour retrouver ses fils. Du coup je fais ça en faisant 2 appels SQL, c'est crade mais ça marche :(

Ceci dit si quelqu'un a une idée sur la requête (qui ne doit pas être si compliquée que ça :( ) je suis preneur :noel:

TheDarkAvenger
TheDarkAvenger
Niveau 2
11 avril 2012 à 23:10:36

up :-(

deepblue
deepblue
Niveau 16
12 avril 2012 à 11:16:13

En fait, tu n'aurais pas un problème de modélisation ?

idDossierPere ne devrait-il pas faire partie intégrante de la table dossier ?

TheDarkAvenger
TheDarkAvenger
Niveau 2
12 avril 2012 à 12:55:42

:ouch: maintenant que tu le dis..

C'est vrai ça faciliterait tout omg :honte:

Je vais modifier et faire comme ça. Bon sang pourquoi j'ai voulu faire compliqué encore :-(

TheDarkAvenger
TheDarkAvenger
Niveau 2
12 avril 2012 à 12:56:07

ah et :merci:

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment