Bonjour,

Je me pose une question: est-il correct de réaliser un SUBSTRING dans un INNER JOIN?

En fait voici ma requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT     dbo.X1.X1_1, BASE2.dbo.X2.X2_1, SUBSTRING(BASE2.dbo.X2.X2_1, 4, 8) AS teste, BASE2.dbo.X2.X2_2, 
                      BASE3.dbo.X3.X3_1
FROM         dbo.X1 INNER JOIN
                      BASE2.dbo.X2 ON dbo.X1.X1_1 = teste INNER JOIN
                      BASE3.dbo.X3 ON BASE2.dbo.X2.X2_2 = BASE3.dbo.X3.X3_1
Celle ci ne passe pas, mais celle là oui:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT     dbo.X1.X1_1, BASE2.dbo.X2.X2_1, BASE2.dbo.X2.X2_2, BASE3.dbo.X3.X3_1
FROM         dbo.X1 INNER JOIN
                      BASE2.dbo.X2 ON dbo.X1.X1_1 = SUBSTRING(BASE2.dbo.X2.X2_1, 4, 8) INNER JOIN
                      BASE3.dbo.X3 ON BASE2.dbo.X2.X2_2 = BASE3.dbo.X3.X3_1
Donc ma question est simplement de savoir si cela est correct ou s'il vaut mieux que je le fasse dans le code de mon appli plutôt qu'en SQL.


Par avance merci