OVH Cloud OVH Cloud

Analyse Croisée

2 réponses
Avatar
Julien
Bonjour,

Je recherche depuis un moment d=E9j=E0 comment faire pour=20
cr=E9er une requ=EAte analyse crois=E9e telle qu'elle existe=20
dans Access. Je sais que la foncion n'existe pas en SQL=20
mais je ne sais pas comment faire pour cr=E9er une proc=E9dure=20
stock=E9e qui donnerait le m=EAme r=E9sultat.=20

Je veux que cette requ=EAte soit autonome et que les ent=EAtes=20
de colonne se d=E9finisse automatiquement ( manuellement je=20
sais le faire :-) )

D'avance merci pour votre aide.

2 réponses

Avatar
Patrice Scribe
Tu peux prendre modèle sur le principe Access. Je verrais quelque chose
comme une requête SQL dont le texte est généré de la façon suivante :
- les champs "Ligne" entrent telle que dans le SELECT
- pour chaque valeur du champ "Colonne", création d'une colonne par champ
"Valeur" plus de la clause JOIN Correspondante

Au final cela généère une requête comme

SELECT <Les champs lignes>,
c1.v1,c1.v2,c2.v1,c2.v2
FROM <Table>
JOIN <Table champs valeur> AS c1 ON ...AND c="une valeur"
JOIN <Table champs valeur> AS c2 ON ...AND c="une autre valeur"
WHERE etc...

Vivement Yukon ;-)

--

"Julien" a écrit dans le message de
news:05d001c3c4bf$46b94350$
Bonjour,

Je recherche depuis un moment déjà comment faire pour
créer une requête analyse croisée telle qu'elle existe
dans Access. Je sais que la foncion n'existe pas en SQL
mais je ne sais pas comment faire pour créer une procédure
stockée qui donnerait le même résultat.

Je veux que cette requête soit autonome et que les entêtes
de colonne se définisse automatiquement ( manuellement je
sais le faire :-) )

D'avance merci pour votre aide.
Avatar
Fred BROUARD
Contrairement aux idées reçut cela existe bien en SQL, mais à partir de
SQL:1999 (SQL 3).
Ce n'est pas une fonction, mais une clause et cela ne couvre pas la
présentation sous forme de tableaux croisées qui reste un aspect
strictement cosmétique...
Dans SQL Server il faut donc utiliser Analysis services et les clause
GROUPING, CUBE ROLLUP...

Au sujet de la présentation, lire :
http://sqlpro.developpez.com/SQL_AZ_E.html#Cosmos

A +

Julien a écrit:
Bonjour,

Je recherche depuis un moment déjà comment faire pour
créer une requête analyse croisée telle qu'elle existe
dans Access. Je sais que la foncion n'existe pas en SQL
mais je ne sais pas comment faire pour créer une procédure
stockée qui donnerait le même résultat.

Je veux que cette requête soit autonome et que les entêtes
de colonne se définisse automatiquement ( manuellement je
sais le faire :-) )

D'avance merci pour votre aide.




--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / 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: ******************