SQL Server + pb sous requetes

SQL Server + pb sous requetes - SQL/NoSQL - Programmation

Marsh Posté le 05-07-2006 à 17:22:55    

Bonjour,
 
voila je rencontre un pb avec SQL server sur une requete qui passe sous MySQL ainsi que sous Access.
 
Si qqun avait une idee du pk du comment du pb...et une chtite solution possible ca serait cool   :ouch: :bounce: :sarcastic:  
 
 
je n aime guere poser du code cash comme ca mais sur ce cas je pense que ca sera preferable afin de mieux comprendre mon topic :
 

Code :
  1. SELECT R4.ID_DOC, R4.ID_LISTE, R4.DATE_DEPART, R4.DATE_RETOUR_REELLE,
  2.            R4.CODE_USER, R4.NOM, R4.PRENOM, R4.EMAIL, R4.TEL, R4.PRET,
  3.            R4.PRET_DISPONIBILITE, R4.PRET_EMPLACEMENT, R4.PRET_ETAT_DOC,
  4.            R4.EMPLACEMENT, R4.ETAT_DOCUMENT, R4.NB_JOURS_RETARD, PTEC.DATE_RETOUR_THEORIQUE
  5. FROM (SELECT R3.*, TPJ.NB_JOURS_RETARD FROM
  6.              (SELECT R2.*, PTE.EMPLACEMENT, PTED.ETAT_DOCUMENT FROM
  7.                  ((SELECT R1.*, GP.PRET_DISPONIBILITE, GP.PRET_EMPLACEMENT, GP.PRET_ETAT_DOC FROM
  8.                     (SELECT R.DATE_DEPART, R.DATE_RETOUR_REELLE, R.ID_DOC, R.ID_LISTE, U.CODE_USER,
  9.                                 U.NOM, U.PRENOM, U.EMAIL, U.TEL, U.PRET FROM
  10.                       (SELECT PJ.ID_DOC, PJ.ID_LISTE, PJ.ID_USER, PJ.DATE_DEPART, PJ.DATE_RETOUR_REELLE
  11.                        FROM PRETS_JOURNAL PJ
  12.                        UNION
  13.                        SELECT PEC.ID_DOC, PEC.ID_LISTE, PEC.ID_USER, PEC.DATE_SORTIE, PEC.DATE_RETOUR_REEL
  14.                        FROM PRETS_EN_COURS PEC) R
  15.                     LEFT JOIN UTILISATEUR U ON U.ID=R.ID_USER
  16.                     ORDER BY R.ID_LISTE) R1
  17.                   LEFT JOIN GESPLAN GP ON GP.ID_DOC=R1.ID_DOC) R2
  18.              LEFT JOIN PRETS_EMPLACEMENTS PTE ON PTE.ID_REF_EMPLACEMENT=R2.PRET_EMPLACEMENT)
  19.              LEFT JOIN PRETS_ETATS_DOCUMENTS PTED ON PTED.ID=R2.PRET_ETAT_DOC) R3
  20.         LEFT JOIN (SELECT ID_DOC, ID_LISTE, NB_JOURS_RETARD FROM PRETS_JOURNAL) TPJ ON (TPJ.ID_LISTE=R3.ID_LISTE AND TPJ.ID_DOC=R3.ID_DOC)
  21.         ORDER BY R3.ID_LISTE, R3.ID_DOC) R4
  22. LEFT JOIN (SELECT ID_DOC, ID_LISTE, DATE_RETOUR_THEORIQUE FROM PRETS_EN_COURS) PTEC ON (PTEC.ID_LISTE=R4.ID_LISTE AND PTEC.ID_DOC=R4.ID_DOC)


 
Et voici mon message d erreur :
 

Code :
  1. La clause ORDER BY n'est pas valide dans les vues, les fonctions Inline, les tables dérivées et les sous-requêtes, sauf si TOP est également spécifié


 
Je crois comprendre que je ne peux pas faire des sous requetes imbriquees dans mon FROM principal car toutes les sous requetes semblent fonctionner, mais je ne m y connais pas du tout sur SQL Server pour resoudre cela  :sweat:  
 
Une idee ?  
Merci

Reply

Marsh Posté le 05-07-2006 à 17:22:55   

Reply

Marsh Posté le 06-07-2006 à 10:30:04    

up plz

Reply

Marsh Posté le 06-07-2006 à 13:12:45    

un order by ça se met tout à la fin  
 
pour te renvoyer le résultat de ta requête
trié comme tu veux ...  
 
Quant à l'exception / histoire du TOP vu que tu n'en as pas dans ta requête pas besoin d'en discuter ;-)
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed