Left Join et "no fetch current record"
Bonjour,
J'ai une requête comportant une jointure sur 4 tables et 4 left join. Je l'ai écrite sans soucis d'ordre dans un premier temps.
Code:
1 2 3 4 5 6 7
| select ...
from T1, T2, T3, T4
left join T5 on T5.ID = T1.ID5
left join T6 on T6.ID = T1.ID6
left join T7 on T7.ID = T4.ID7
left join T8 on T8.ID = T4.ID8
where ... |
Tout va bien (je suis sur interbase) jusqu'à la mise en production sur firebird.
le message d'erreur suivant "no fetch current record".
A force de test je me suis rendu compte que la requête sous cette forme ne provoquait pas l'erreur :
Code:
1 2 3 4 5 6 7 8 9
| select ...
from T1
left join T5 on T5.ID = T1.ID5
left join T6 on T6.ID = T1.ID6,
T4
left join T7 on T7.ID = T4.ID7
left join T8 on T8.ID = T4.ID8,
T2, T3
where ... |
Ma question donc, est-ce qu'il y a un ordre dans les left join ie. est-ce qu'il faut qu'il précèdent la table sur laquelle on fait la jointure.
Si oui pourquoi cela fonctionne sur Interbase.
Et que ce passe-t-il si on fait des jointures plus complexes par exemple avec un "and" dans le premier left join.
Code:
and T5.ID2 = T2.ID5
Enfin pour faire plus général est-ce que quesqu'un a plus d'information sur ce sujet.
Merci d'avance