SELECT TOP UNION et ORDER
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:
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:
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 :
Citation:
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 .....