Problème propriétés distinct et top dans proc stockée
Kati83
Messages postés65Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 septembre 2004
-
3 mai 2004 à 18:09
Kati83
Messages postés65Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 septembre 2004
-
4 mai 2004 à 10:21
Bonjour à tous,
Je voudrais mettre en place une procédure stockée qui me récupère des informations dans 2 tables.
Sachant que table2.id = table1.id_table2, je voudrais
récupérer les 3 dernières table1.id, table2.graphique (classées par rapport à ma date de la table 1)
Mon problème c'est que plusieurs lignes de ma table
1 peuvent avoir le même id_table2. Or je voudrais les 3
enregistrements les plus récents, ayant une image
différente.
J'ai essayé de faire un truc du genre :
SELECT TOP 3 DISTINCT table1.id, table2.graphique
FROM table1
INNER JOIN table2
ON table2.id = table1.id_table2
ORDER BY date
Mais visual studio ne veut pas me l'enregistrer, il me met le message suivant :
incorrect syntax near the keyword SELECT
incorrect syntax near the keyword DISTINCT
Est-ce que quelq'un a une idée sur ce qui ne va pas (ou une suggestion pour le faire différemment ?)
Kati83
Messages postés65Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 septembre 2004 4 mai 2004 à 10:21
Oui, tu as raison, comme ça ça marche impec, mais mon problème n'en est pas résolu pour autant...
Je travaille sous visual studio, si je fais par exemple :
ALTER PROCEDURE LastDonneurId
AS
SELECT DISTINCT TOP 3 id_donneurordres
FROM reference
ORDER BY date_parution DESC
Il ne veut pas me l'enregistrer, en gros, il me dit qu'il faut que la champs qui est dans le ORDER BY soit aussi dans la clause SELECT.
Mais si je l'ajoute dans la clause select, le distinct d'applique au couple id_donneurordres / date_parution, ce qui fait qu'à l'arrivée j'obtiens des doublons...