Bonjour à tous,
J'aimerais comprendre pourquoi, SQL Server m'empêche de faire référence à une valeur générer précédement dans une sous-requête étant en jointure.
Je m'explique par cette requête :
Ne cherchez pas à comprendre la logique de cette requête dénouée de sens, il n'y en a tout simplement pas. Ce n'est que pour démontrer le problème auquel je fais face en ce moment. Car, la requête original est beaucoup trop volumineuse pour être écrite ici..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
DECLARE @MaTable TABLE (Code INT)
SELECT MaTable.*
FROM @MaTable AS MaTable
INNER JOIN
(
SELECT (Code / 2) AS Valeur1
FROM @MaTable
)
AS MaTableEnfant1
ON MaTable.Code = MaTableEnfant1.Valeur1
INNER JOIN
(
SELECT (MaTableEnfant1.Valeur1 / 4) AS Valeur2
FROM @MaTable
)
AS MaTableEnfant2
ON MaTable.Code = MaTableEnfant2.Valeur2 |
Où il y a un bout de code en rouge, je reçoit un erreur me disant que ce champs n'existe pas.
The multi-part identifier "MaTableEnfant1.Code" could not be bound.
Pourtant il est bien générer par la table précédante 'MaTableEnfant1'. Alors pourquoi ne veut-il pas y faire référence ?
Merci du coup de main.
Partager