2010-03-15 6 views
1

Je voudrais interroger à partir de base de données SQL Server 2000. J'ai deux tables. Ils sont des détails d'achat et d'achat. Je voudrais obtenir des enregistrements de produit avec Last Purchase ID, mais je ne peux pas interroger avec les déclarations suivantes. Donc s'il vous plaît aidez-moi.Produit avec la dernière date d'achat

SELECT  TOP 100 PERCENT dbo.Purchase.PurchaseID AS LastOfPurchaseID, dbo.PurchaseDetails.ProductID, 
         MAX(dbo.Purchase.PurchaseDate) AS LastOfPurchaseDate 
FROM   dbo.Purchase INNER JOIN 
         dbo.PurchaseDetails ON dbo.Purchase.PurchaseID = dbo.PurchaseDetails.PurchaseID 
GROUP BY dbo.PurchaseDetails.ProductID, dbo.Purchase.PurchaseDate,dbo.Purchase.PurchaseID 
ORDER BY MAX(dbo.Purchase.PurchaseDate) DESC 

Répondre

-1

Pourriez-vous simplement commander par ID d'achat dans DESC ORDER? Tout est un peu bizarre quand vous essayez de faire des choses avec MSSQL ...

0

Si vous essayez de récupérer la liste des produits à base de la date de l'ordre le plus récemment entré, puis utilisez une sous-requête:

SELECT Purchase.PurchaseID, Purchase.PurchaseDate, PurchaseDetails.ProductID 
FROM  Purchase 
    INNER JOIN PurchaseDetails 
    ON Purchase.PurchaseID = PurchaseDetails.PurchaseID 
WHERE (Purchase.PurchaseDate = (SELECT MAX(PurchaseDate) FROM Purchase)) 
Questions connexes