Pourquoi cette requête ne fonctionne-t-elle pas?La requête Sql Server ne fonctionne pas en tant que sous-requête
Select temp.CompanyName from
(
SELECT c.CompanyName, o.OrderID,
YEAR(o.OrderDate) As YEAR,
Sum(od.UnitPrice * od.Quantity) from Orders o
INNER JOIN [Order Details] od
ON o.OrderID = od.OrderID
INNER JOIN Customers c
On c.CustomerID = o.CustomerID
GROUP BY o.OrderId,c.CompanyName, YEAR(o.OrderDate)
) As temp;
Il utilise la base de données Northwind. Si je l'exécute sans créer de vue temporaire, c'est-à-dire si j'exécute la requête contenue entre parenthèses, cela fonctionne très bien.
Very Nice. Tu as raison. Mais quel problème pourrait être causé simplement en n'utilisant pas l'alias de colonne? Si je l'exécute sans créer de vues, cela fonctionne très bien. – TCM
Tout d'abord, cela s'appelle une sous-requête, pas une vue. Ensuite, demandez-vous comment vous pouvez vous référer à une colonne sans nom dans la requête parente, et je pense que vous comprendrez pourquoi c'est une erreur. –
Oh merci j'ai pensé que c'est vue, puisque nous sommes sélectionner quelque chose, puis en sélectionnant à nouveau quelque chose. – TCM