bonjour
je travaille sous Oracle 9
jai un resultat de requete que je n'explique pas
jai 3 table a, b et c liées par integrité referentielle
chacune delle a une colonne appelée dtdeff
donc losque jexecute la requete suivante
jai un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT dtdeff FROM A,B, C WHERE A.fkb = B.pkb AND B.fkc = c.pkcce qui est normal car je nai pas specifié la table d'ou provient le dtdeffOra 00918 : definition de colonne ambigue
jusque la je comprends ....
par contre quand jexecute la meme requete mais avec des jointures normalisées sans specifier lorigine de ma dtdeff
je ne pas de message derreur et il me ramene les dtdeff de B !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT dtdeff FROM A inner join B ON A.fkb = B.pkb inner join C ON B.fkc = c.pkc
alors la je ne comprends plus rien ....
pourkoi je nai plus de message derreur ora00918 ????
pour me remène t il les dtdeff de la table B ???
pourquoi pas les dtdeff de la table A ?? ou C ????
cest vrai kil suffirai que je fasse
pour solutionner mon probleme...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT A.dtdeff FROM A inner join B ON A.fkb = B.pkb inner join C ON B.fkc = c.pkc
mais jaime bien comprendre les truc ;-)
si kelkun a une idée ....
Partager