access vers sql seveur

Le
yansamy16 Hors ligne
Bonjour, qui va maider a transformer cette requette de access en sql serveur 2005!!!?. merci!

TRANSFORM IIf(IsNull(Count(*)),0,Count(*)) AS [La Valeur]
SELECT qryLast_Op_Codes.Code_Sous_Filiere, qryDossAge.Code_Sexe, Count(*) AS Total, Count(*)*100/(SELECT COUNT(*) FROM qryDossActDispDet WHERE Condidat = False;) AS Pourcentage
FROM qryDossAge LEFT JOIN qryLast_Op_Codes ON qryDossAge.Matricule = qryLast_Op_Codes.Matricule
WHERE (((qryLast_Op_Codes.Code_Position_Actuel)<>0 And (qryLast_Op_Codes.Code_Position_Actuel)<>(IsNull([qryLast_Op_Codes]![Code_Position_Actuel]))))
GROUP BY qryLast_Op_Codes.Code_Sous_Filiere, qryDossAge.Code_Sexe
PIVOT qryLast_Op_Codes.Code_Position_Actuel In ("1","2","3");
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ph. B.
Le #22927471
yansamy16 a écrit :
Bonjour, qui va maider a transformer cette requette de access en sql serveur
2005!!!?. merci!

TRANSFORM IIf(IsNull(Count(*)),0,Count(*)) AS [La Valeur]
SELECT qryLast_Op_Codes.Code_Sous_Filiere, qryDossAge.Code_Sexe, Count(*) AS
Total, Count(*)*100/(SELECT COUNT(*) FROM qryDossActDispDet WHERE Condidat > False;) AS Pourcentage
FROM qryDossAge LEFT JOIN qryLast_Op_Codes ON qryDossAge.Matricule > qryLast_Op_Codes.Matricule
WHERE (((qryLast_Op_Codes.Code_Position_Actuel)<>0 And
(qryLast_Op_Codes.Code_Position_Actuel)<>(IsNull([qryLast_Op_Codes]![Code_Position_Actuel]))))
GROUP BY qryLast_Op_Codes.Code_Sous_Filiere, qryDossAge.Code_Sexe
PIVOT qryLast_Op_Codes.Code_Position_Actuel In ("1","2","3");



Bonjour,

1) il faudrait quelques explications sur ce que tu veux obtenir
2) Sqlserver 2005 n'a pas de type booléen, il faut utiliser le type BIT
3) que veut dire (IsNull([qryLast_Op_Codes]![Code_Position_Actuel]))
sous access ?

Et enfin présenter la requête sous une forme plus intelligible, soit par
exemple et en tenant compte du 2):

SELECT
LO.Code_Sous_Filiere,
DA.Code_Sexe,
Count(*) AS Total,
Count(*) * 100
/(SELECT COUNT(*)
FROM qryDossActDispDet WHERE Candidat = 0) AS Pourcentage

FROM qryDossAge DA
LEFT JOIN qryLast_Op_Codes LO
ON DA.Matricule = LO.Matricule

WHERE
(LO.Code_Position_Actuel <> 0)
AND
(LO.Code_Position_Actuel IS NOT NULL) -- interprétation perso du 3)

GROUP BY
LO.Code_Sous_Filiere,
DA.Code_Sexe

Après, on pourra discuter du pivot...
--
Philippe.
Publicité
Poster une réponse
Anonyme