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

[SQL debutant] Jointure bizarre

BoobRecursif
BoobRecursif
Niveau 3
05 mars 2013 à 18:18:12

Dur de choisir un titre explicite avec si peu de place...

J'utilise SQL server (la dernière version).

Voilà j'ai créé une table PERSONNE qui possède 3 colonnes : PERSONNE_ID, PERSONNE_NAME, CHEF_ID.

(chaque personne a un identifiant unique (clé primaire), un nom, et est dirigée par un chef (foreign key). Sauf que ce CHEF_ID est l'identifiant d'une autre personne !

Maintenant, j'aimerais faire un select (à l'aide d'une jointure j'imagine) qui me liste le nom de toutes les personnes avec à-côté le nom de leur chef respectif. J'ai essayé cela :

SELECT PERSONNE_NAME, PERSONNE_NAME as Chef
FROM PERSONNE Pers
INNER JOIN PERSONNE Chef
ON Pers.CHEF_ID = Chef.PERSONNE_ID;

Mais ça ne fonctionne pas. L'erreur est :

ORA-00918: column ambiguously defined
00918. 00000 - "column ambiguously defined"

  • Cause:
  • Action:

Voilà, merci ! :ange:

[Deamons]
[Deamons]
Niveau 6
05 mars 2013 à 18:41:02

Tu donnes 2 fois la même colonnes dans ton select, le sgbd sait pas la colonne de quel personne il doit prendre (oui ça peut paraître con).
De plus tu nommes ta colonne "chef" et tu nommes également ta deuxième table "chef", je sais pas si ça peut balancer une erreur, mais mieux vaut prendre des noms différents.

Essaye voir avec

SELECT Pers.PERSONNE_NAME, Chef.PERSONNE_NAME as NomChef
FROM PERSONNE Pers
INNER JOIN PERSONNE Chef
ON Pers.CHEF_ID = Chef.PERSONNE_ID;

BoobRecursif
BoobRecursif
Niveau 3
06 mars 2013 à 12:12:52

Merci beaucoup, ça fonctionne nickel !

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