Bonjour,
j'aimerais pouvoir recuperer un contenu de 3 tables, et en ayant une limite par la suite sur le resultat.

ce que j'ai fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
	SELECT titre, CONVERT(DATETIME, hsoum, 103) AS hsoum FROM dbo.liens 
	UNION
	SELECT titre, CONVERT(DATETIME, hsoum, 103) AS hsoum FROM dbo.articles 
	UNION
	SELECT titre, CONVERT(DATETIME, hsoum, 103) AS hsoum FROM dbo.consignes
 
	ORDER BY hsoum DESC
me donne bien le contenu des mes 3 tables, mais dans la totalité, maintenance que je veux c'est pouvoir avoir le meme resultat mais sur 5 enregistrement, j'ai donc fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
SELECT TOP(5) * FROM (
 
	SELECT titre, CONVERT(DATETIME, hsoum, 103) AS hsoum FROM dbo.liens 
	UNION
	SELECT titre, CONVERT(DATETIME, hsoum, 103) AS hsoum FROM dbo.articles 
	UNION
	SELECT titre, CONVERT(DATETIME, hsoum, 103) AS hsoum FROM dbo.consignes
 
	ORDER BY hsoum DESC
 
	) AS cool
Le probleme c'est que j'ai une erreur :
Msg*1033, Niveau*15, État*1, Ligne*11
La clause ORDER BY n'est pas valide dans les vues, les fonctions inline, les tables dérivées, les sous-requêtes et les expressions de table communes, sauf si TOP ou FOR XML est également spécifié.
et que si je vire le order by et que je le met apres ca ne me retourne pas le resultat que je souahite ...

pour info je suis sur ms sql 2005

merci par avance de vos reponses .....