Problème procédure stockée

Le
Pedro
Bonjour,

J'ai un problme avec une procdure stocke que je
n'arrive pas mettre en place.
Je voudrais aller les proprits top et distinct.
Voici ce que je voudrais faire :

SELECT TOP 3 monchamp1, DISTINCT (monchamp2)
FROM Mabase
ORDER BY date.

Mais apparemment, il est impossible d'appliquer le
distinct juste sur un champs
Comment est-ce que je peux faire alors ?

Merci.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11718401
DISTINCT sur une seule colonne (les champs n'existent pas dans une
base de données) cela n'existe pas car c'est contre toute logique !

Quel est ton problème ???

A +

Pedro a écrit:
Bonjour,

J'ai un problème avec une procédure stockée que je
n'arrive pas à mettre en place.
Je voudrais aller les propriétés top et distinct.
Voici ce que je voudrais faire :

SELECT TOP 3 monchamp1, DISTINCT (monchamp2)
FROM Mabase
ORDER BY date.

Mais apparemment, il est impossible d'appliquer le
distinct juste sur un champs...
Comment est-ce que je peux faire alors ?

Merci.




--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Pedro
Le #11718301
Bonjour,

En fait j'ai deux tables.
Table 1 : id(clé primaire), .., date, id_table2
Table 2 : id(clé primaire), ..., graphique(nom d'image)

Sachante que table2.id = table1.id_table2, je voudrais
récupérer les 3 dernières table1.id, table2.graphique

Mon problème c'est que pour 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.

Comment est-ce que je peux faire pour mettre cela en
place ?

Merci.

Pedro

-----Message d'origine-----
DISTINCT sur une seule colonne (les champs n'existent


pas dans une
base de données) cela n'existe pas car c'est contre


toute logique !

Quel est ton problème ???

A +

Pedro a écrit:
Bonjour,

J'ai un problème avec une procédure stockée que je
n'arrive pas à mettre en place.
Je voudrais aller les propriétés top et distinct.
Voici ce que je voudrais faire :

SELECT TOP 3 monchamp1, DISTINCT (monchamp2)
FROM Mabase
ORDER BY date.

Mais apparemment, il est impossible d'appliquer le
distinct juste sur un champs...
Comment est-ce que je peux faire alors ?

Merci.




--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage


SQL / Delphi / web
Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
****************** mailto:


******************

.



Fred BROUARD
Le #11718251
SELECT TOP 3 DISTINCT table1.id, table2.graphique
FROM table1
INNER JOIN table2
ON table2.id = table1.id_table2
ORDER BY date

A +

Pedro a écrit:
Bonjour,

En fait j'ai deux tables.
Table 1 : id(clé primaire), .., date, id_table2
Table 2 : id(clé primaire), ..., graphique(nom d'image)

Sachante que table2.id = table1.id_table2, je voudrais
récupérer les 3 dernières table1.id, table2.graphique

Mon problème c'est que pour 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.

Comment est-ce que je peux faire pour mettre cela en
place ?

Merci.

Pedro


-----Message d'origine-----
DISTINCT sur une seule colonne (les champs n'existent



pas dans une

base de données) cela n'existe pas car c'est contre



toute logique !

Quel est ton problème ???

A +

Pedro a écrit:

Bonjour,

J'ai un problème avec une procédure stockée que je
n'arrive pas à mettre en place.
Je voudrais aller les propriétés top et distinct.
Voici ce que je voudrais faire :

SELECT TOP 3 monchamp1, DISTINCT (monchamp2)
FROM Mabase
ORDER BY date.

Mais apparemment, il est impossible d'appliquer le
distinct juste sur un champs...
Comment est-ce que je peux faire alors ?

Merci.




--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage



SQL / Delphi / web

Livre SQL - col. Référence :



http://sqlpro.developpez.com/bookSQL.html

Le site du SQL, pour débutants et pros :



http://sqlpro.developpez.com

****************** mailto:



******************

.









--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Steve Kass
Le #11718241
Pour retrouver les paires ayant un des trois dernières dates associé à
la valeur de table1.id:

select
table1.id,
table2.graphique
from Table1 T1a join Table2 T2a
on T1a.id = T2a.id
where T1a.myDate in (
select top 3 T1b.myDate
from Table1 T1b join Table2 T2b
on T1a.id = T2a.id
and T1b.id = T2b.id
order by T1b.myDate desc
)

Steve Kass
Drew University

Pedro wrote:

Bonjour,

En fait j'ai deux tables.
Table 1 : id(clé primaire), .., date, id_table2
Table 2 : id(clé primaire), ..., graphique(nom d'image)

Sachante que table2.id = table1.id_table2, je voudrais
récupérer les 3 dernières table1.id, table2.graphique

Mon problème c'est que pour 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.

Comment est-ce que je peux faire pour mettre cela en
place ?

Merci.

Pedro



-----Message d'origine-----
DISTINCT sur une seule colonne (les champs n'existent




pas dans une


base de données) cela n'existe pas car c'est contre




toute logique !


Quel est ton problème ???

A +

Pedro a écrit:


Bonjour,

J'ai un problème avec une procédure stockée que je
n'arrive pas à mettre en place.
Je voudrais aller les propriétés top et distinct.
Voici ce que je voudrais faire :

SELECT TOP 3 monchamp1, DISTINCT (monchamp2)
FROM Mabase
ORDER BY date.

Mais apparemment, il est impossible d'appliquer le
distinct juste sur un champs...
Comment est-ce que je peux faire alors ?

Merci.





--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage




SQL / Delphi / web


Livre SQL - col. Référence :




http://sqlpro.developpez.com/bookSQL.html


Le site du SQL, pour débutants et pros :




http://sqlpro.developpez.com


****************** mailto:




******************


.









Pedro
Le #11718231
Ok, merci je vais essayer ta solution !
Pedro.


-----Message d'origine-----
SELECT TOP 3 DISTINCT table1.id, table2.graphique
FROM table1
INNER JOIN table2
ON table2.id = table1.id_table2
ORDER BY date

A +

Pedro a écrit:
Bonjour,

En fait j'ai deux tables.
Table 1 : id(clé primaire), .., date, id_table2
Table 2 : id(clé primaire), ..., graphique(nom d'image)

Sachante que table2.id = table1.id_table2, je voudrais
récupérer les 3 dernières table1.id, table2.graphique

Mon problème c'est que pour 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.

Comment est-ce que je peux faire pour mettre cela en
place ?

Merci.

Pedro


-----Message d'origine-----
DISTINCT sur une seule colonne (les champs n'existent



pas dans une

base de données) cela n'existe pas car c'est contre



toute logique !

Quel est ton problème ???

A +

Pedro a écrit:

Bonjour,

J'ai un problème avec une procédure stockée que je
n'arrive pas à mettre en place.
Je voudrais aller les propriétés top et distinct.
Voici ce que je voudrais faire :

SELECT TOP 3 monchamp1, DISTINCT (monchamp2)
FROM Mabase
ORDER BY date.

Mais apparemment, il est impossible d'appliquer le
distinct juste sur un champs...
Comment est-ce que je peux faire alors ?

Merci.




--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage



SQL / Delphi / web

Livre SQL - col. Référence :



http://sqlpro.developpez.com/bookSQL.html

Le site du SQL, pour débutants et pros :



http://sqlpro.developpez.com

****************** mailto:



******************

.









--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage


SQL / Delphi / web
Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
****************** mailto:


******************

.



Pedro
Le #11718221
Merci pour votre aide à tous les deux mais ta solution
n'a pas l'air de marcher parce que visual studio ne veut
pas me l'enregistrer.
Il me met :
incorrect syntax near the keyword SELECT
incorrect syntax near the keyword DISTINCT

Voici mon code :

CREATE PROCEDURE MaProc

SELECT TOP 3 DISTINCT reference.id,
donneur_ordres.graphique
FROM reference
INNER JOIN donneur_ordres
ON donneur_ordres.id =
reference.id_donneurordres
ORDER BY date_parution DESC

Tu as une idée ?

Merci.

Pedro

-----Message d'origine-----
SELECT TOP 3 DISTINCT table1.id, table2.graphique
FROM table1
INNER JOIN table2
ON table2.id = table1.id_table2
ORDER BY date

A +

Pedro a écrit:
Bonjour,

En fait j'ai deux tables.
Table 1 : id(clé primaire), .., date, id_table2
Table 2 : id(clé primaire), ..., graphique(nom d'image)

Sachante que table2.id = table1.id_table2, je voudrais
récupérer les 3 dernières table1.id, table2.graphique

Mon problème c'est que pour 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.

Comment est-ce que je peux faire pour mettre cela en
place ?

Merci.

Pedro


-----Message d'origine-----
DISTINCT sur une seule colonne (les champs n'existent



pas dans une

base de données) cela n'existe pas car c'est contre



toute logique !

Quel est ton problème ???

A +

Pedro a écrit:

Bonjour,

J'ai un problème avec une procédure stockée que je
n'arrive pas à mettre en place.
Je voudrais aller les propriétés top et distinct.
Voici ce que je voudrais faire :

SELECT TOP 3 monchamp1, DISTINCT (monchamp2)
FROM Mabase
ORDER BY date.

Mais apparemment, il est impossible d'appliquer le
distinct juste sur un champs...
Comment est-ce que je peux faire alors ?

Merci.




--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage



SQL / Delphi / web

Livre SQL - col. Référence :



http://sqlpro.developpez.com/bookSQL.html

Le site du SQL, pour débutants et pros :



http://sqlpro.developpez.com

****************** mailto:



******************

.









--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage


SQL / Delphi / web
Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
****************** mailto:


******************

.



Steve Kass
Le #11718201
Pedro,

Renseignez-vous sur le syntaxe des procedures stockées:

Il vous faut le mot clé AS, et il faut mettre DISTINCT avant TOP:


CREATE PROCEDURE MaProc
AS
SELECT DISTINCT TOP 3
...


Steve Kass
Drew University

Pedro wrote:

Merci pour votre aide à tous les deux mais ta solution
n'a pas l'air de marcher parce que visual studio ne veut
pas me l'enregistrer.
Il me met :
incorrect syntax near the keyword SELECT
incorrect syntax near the keyword DISTINCT

Voici mon code :

CREATE PROCEDURE MaProc

SELECT TOP 3 DISTINCT reference.id,
donneur_ordres.graphique
FROM reference
INNER JOIN donneur_ordres
ON donneur_ordres.id =
reference.id_donneurordres
ORDER BY date_parution DESC

Tu as une idée ?

Merci.

Pedro



-----Message d'origine-----
SELECT TOP 3 DISTINCT table1.id, table2.graphique


FROM table1




INNER JOIN table2
ON table2.id = table1.id_table2
ORDER BY date

A +

Pedro a écrit:


Bonjour,

En fait j'ai deux tables.
Table 1 : id(clé primaire), .., date, id_table2
Table 2 : id(clé primaire), ..., graphique(nom d'image)

Sachante que table2.id = table1.id_table2, je voudrais
récupérer les 3 dernières table1.id, table2.graphique

Mon problème c'est que pour 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.

Comment est-ce que je peux faire pour mettre cela en
place ?

Merci.

Pedro




-----Message d'origine-----
DISTINCT sur une seule colonne (les champs n'existent




pas dans une



base de données) cela n'existe pas car c'est contre




toute logique !



Quel est ton problème ???

A +

Pedro a écrit:



Bonjour,

J'ai un problème avec une procédure stockée que je
n'arrive pas à mettre en place.
Je voudrais aller les propriétés top et distinct.
Voici ce que je voudrais faire :

SELECT TOP 3 monchamp1, DISTINCT (monchamp2)


FROM Mabase




ORDER BY date.

Mais apparemment, il est impossible d'appliquer le
distinct juste sur un champs...
Comment est-ce que je peux faire alors ?

Merci.





--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage




SQL / Delphi / web



Livre SQL - col. Référence :




http://sqlpro.developpez.com/bookSQL.html



Le site du SQL, pour débutants et pros :




http://sqlpro.developpez.com



****************** mailto:




******************



.






--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage




SQL / Delphi / web


Livre SQL - col. Référence :




http://sqlpro.developpez.com/bookSQL.html


Le site du SQL, pour débutants et pros :




http://sqlpro.developpez.com


****************** mailto:




******************


.









Publicité
Poster une réponse
Anonyme