Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème procédure stockée

7 réponses
Avatar
Pedro
Bonjour,

J'ai un probl=E8me avec une proc=E9dure stock=E9e que je=20
n'arrive pas =E0 mettre en place.
Je voudrais aller les propri=E9t=E9s top et distinct.
Voici ce que je voudrais faire :=20

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

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

Merci.

7 réponses

Avatar
Fred BROUARD
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: ******************
Avatar
Pedro
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:


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

.



Avatar
Fred BROUARD
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: ******************
Avatar
Steve Kass
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:




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


.









Avatar
Pedro
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:


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

.



Avatar
Pedro
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:


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

.



Avatar
Steve Kass
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:




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


.