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 :-) )
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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" <Moogli86@aol.com> a écrit dans le message de
news:05d001c3c4bf$46b94350$a601280a@phx.gbl...
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 :-) )
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.
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: ******************
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:brouardf@club-internet.fr ******************
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: ******************