où AAUT_NUMECRAN représnte le numéro de l'écran appelé dans l'applicatif
AAUT_UTILID l'utilisateur en cours
AAUT_NIVEAU le niveau d'autorisation sur cet écran (valeurs possibles
1,2,3,4)
et j'ai des données du style
1,1,1 -- écran 1, utilisateur 1, niveau 1
1,1,2 -- écran 1, utilisateur 1, niveau 2
1,1,3 -- écran 1, utilisateur 1, niveau 3
2,1,2 -- écran 2, utilisateur 1, niveau 2
2,1,4 -- écran 2, utilisateur 1, niveau 4
1,2,1 -- écran 1, utilisateur 2, niveau 1
1,2,3 -- écran 1, utilisateur 2, niveau 3
je voudrais savoir s'il est possible avec une requête (sans passer par des
boucles) d'obtenir le résultat suivant
AAUT_NUMECRAN AAUT_UTILID Niveau 1 Niveau 2
Niveau 3 Niveau 4
1 1
1 1 1 0
2 1
0 0 0 1
1 2
1 0 1 0
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
Fred BROUARD
Bonjour,
Ce n'est pas étonnant que vous n'y arriviez pas. SQL n'est pas fait pour cela ! Ce que vous tentez de faire c'est de la cosmétique. Pas de la base de données. Faites cela sur un serveur de présentation.
A défaut vous pouvez quand même utiliser une requête "gore" à l'aide de l'opérateur PIVOT (2005) ou à défaut un case.
Dans tous les cas il vous faut connaître préalablement le nombre de "niveaux"
Ne comptez surtout pas sur moi, pour vous écrire une telle requête. J'y suis particulièrement allergique !
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
jack a écrit :
Bonjour,
J'ai un problème pour l'écriture d'une requête. J'ai une table AUTORISATION avec comme colonnes
où AAUT_NUMECRAN représnte le numéro de l'écran appelé dans l'applicatif AAUT_UTILID l'utilisateur en cours AAUT_NIVEAU le niveau d'autorisation sur cet écran (valeurs possibles 1,2,3,4)
et j'ai des données du style 1,1,1 -- écran 1, utilisateur 1, niveau 1 1,1,2 -- écran 1, utilisateur 1, niveau 2 1,1,3 -- écran 1, utilisateur 1, niveau 3 2,1,2 -- écran 2, utilisateur 1, niveau 2 2,1,4 -- écran 2, utilisateur 1, niveau 4 1,2,1 -- écran 1, utilisateur 2, niveau 1 1,2,3 -- écran 1, utilisateur 2, niveau 3
je voudrais savoir s'il est possible avec une requête (sans passer par des boucles) d'obtenir le résultat suivant
AAUT_NUMECRAN AAUT_UTILID Niveau 1 Niveau 2 Niveau 3 Niveau 4 1 1 1 1 1 0 2 1 0 0 0 1 1 2 1 0 1 0
Merci par avance
Bonjour,
Ce n'est pas étonnant que vous n'y arriviez pas. SQL n'est pas fait pour
cela !
Ce que vous tentez de faire c'est de la cosmétique. Pas de la base de
données. Faites cela sur un serveur de présentation.
A défaut vous pouvez quand même utiliser une requête "gore" à l'aide de
l'opérateur PIVOT (2005) ou à défaut un case.
Dans tous les cas il vous faut connaître préalablement le nombre de
"niveaux"
Ne comptez surtout pas sur moi, pour vous écrire une telle requête. J'y
suis particulièrement allergique !
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
jack a écrit :
Bonjour,
J'ai un problème pour l'écriture d'une requête.
J'ai une table AUTORISATION avec comme colonnes
où AAUT_NUMECRAN représnte le numéro de l'écran appelé dans l'applicatif
AAUT_UTILID l'utilisateur en cours
AAUT_NIVEAU le niveau d'autorisation sur cet écran (valeurs possibles
1,2,3,4)
et j'ai des données du style
1,1,1 -- écran 1, utilisateur 1, niveau 1
1,1,2 -- écran 1, utilisateur 1, niveau 2
1,1,3 -- écran 1, utilisateur 1, niveau 3
2,1,2 -- écran 2, utilisateur 1, niveau 2
2,1,4 -- écran 2, utilisateur 1, niveau 4
1,2,1 -- écran 1, utilisateur 2, niveau 1
1,2,3 -- écran 1, utilisateur 2, niveau 3
je voudrais savoir s'il est possible avec une requête (sans passer par des
boucles) d'obtenir le résultat suivant
AAUT_NUMECRAN AAUT_UTILID Niveau 1 Niveau 2
Niveau 3 Niveau 4
1 1
1 1 1 0
2 1
0 0 0 1
1 2
1 0 1 0
Ce n'est pas étonnant que vous n'y arriviez pas. SQL n'est pas fait pour cela ! Ce que vous tentez de faire c'est de la cosmétique. Pas de la base de données. Faites cela sur un serveur de présentation.
A défaut vous pouvez quand même utiliser une requête "gore" à l'aide de l'opérateur PIVOT (2005) ou à défaut un case.
Dans tous les cas il vous faut connaître préalablement le nombre de "niveaux"
Ne comptez surtout pas sur moi, pour vous écrire une telle requête. J'y suis particulièrement allergique !
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
jack a écrit :
Bonjour,
J'ai un problème pour l'écriture d'une requête. J'ai une table AUTORISATION avec comme colonnes
où AAUT_NUMECRAN représnte le numéro de l'écran appelé dans l'applicatif AAUT_UTILID l'utilisateur en cours AAUT_NIVEAU le niveau d'autorisation sur cet écran (valeurs possibles 1,2,3,4)
et j'ai des données du style 1,1,1 -- écran 1, utilisateur 1, niveau 1 1,1,2 -- écran 1, utilisateur 1, niveau 2 1,1,3 -- écran 1, utilisateur 1, niveau 3 2,1,2 -- écran 2, utilisateur 1, niveau 2 2,1,4 -- écran 2, utilisateur 1, niveau 4 1,2,1 -- écran 1, utilisateur 2, niveau 1 1,2,3 -- écran 1, utilisateur 2, niveau 3
je voudrais savoir s'il est possible avec une requête (sans passer par des boucles) d'obtenir le résultat suivant
AAUT_NUMECRAN AAUT_UTILID Niveau 1 Niveau 2 Niveau 3 Niveau 4 1 1 1 1 1 0 2 1 0 0 0 1 1 2 1 0 1 0
Merci par avance
jack
Bon bon...
Je vais faire cela côté applicatif.
Mais quand même, j'aurais bien aimé savoir comment s'écrit une telle requête...
Merci quand même de vous être penché sur la question.
"Fred BROUARD" wrote in message news:%
Bonjour,
Ce n'est pas étonnant que vous n'y arriviez pas. SQL n'est pas fait pour cela ! Ce que vous tentez de faire c'est de la cosmétique. Pas de la base de données. Faites cela sur un serveur de présentation.
A défaut vous pouvez quand même utiliser une requête "gore" à l'aide de l'opérateur PIVOT (2005) ou à défaut un case.
Dans tous les cas il vous faut connaître préalablement le nombre de "niveaux"
Ne comptez surtout pas sur moi, pour vous écrire une telle requête. J'y suis particulièrement allergique !
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
jack a écrit : > Bonjour, > > J'ai un problème pour l'écriture d'une requête. > J'ai une table AUTORISATION avec comme colonnes > > AAUT_NUMECRAN smallint > AAUT_UTILID smallint > AAUT_NIVEAU smallint > > où AAUT_NUMECRAN représnte le numéro de l'écran appelé dans l'applicatif > AAUT_UTILID l'utilisateur en cours > AAUT_NIVEAU le niveau d'autorisation sur cet écran (valeurs possibles > 1,2,3,4) > > et j'ai des données du style > 1,1,1 -- écran 1, utilisateur 1, niveau 1 > 1,1,2 -- écran 1, utilisateur 1, niveau 2 > 1,1,3 -- écran 1, utilisateur 1, niveau 3 > 2,1,2 -- écran 2, utilisateur 1, niveau 2 > 2,1,4 -- écran 2, utilisateur 1, niveau 4 > 1,2,1 -- écran 1, utilisateur 2, niveau 1 > 1,2,3 -- écran 1, utilisateur 2, niveau 3 > > je voudrais savoir s'il est possible avec une requête (sans passer par
des
> boucles) d'obtenir le résultat suivant > > AAUT_NUMECRAN AAUT_UTILID Niveau 1 Niveau 2 > Niveau 3 Niveau 4 > 1 1 > 1 1 1 0 > 2 1 > 0 0 0 1 > 1 2 > 1 0 1 0 > > Merci par avance > > > >
Bon bon...
Je vais faire cela côté applicatif.
Mais quand même, j'aurais bien aimé savoir comment s'écrit une telle
requête...
Merci quand même de vous être penché sur la question.
"Fred BROUARD" <brouardf@club-internet.fr> wrote in message
news:%23mfzoH5MJHA.4248@TK2MSFTNGP03.phx.gbl...
Bonjour,
Ce n'est pas étonnant que vous n'y arriviez pas. SQL n'est pas fait pour
cela !
Ce que vous tentez de faire c'est de la cosmétique. Pas de la base de
données. Faites cela sur un serveur de présentation.
A défaut vous pouvez quand même utiliser une requête "gore" à l'aide de
l'opérateur PIVOT (2005) ou à défaut un case.
Dans tous les cas il vous faut connaître préalablement le nombre de
"niveaux"
Ne comptez surtout pas sur moi, pour vous écrire une telle requête. J'y
suis particulièrement allergique !
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
jack a écrit :
> Bonjour,
>
> J'ai un problème pour l'écriture d'une requête.
> J'ai une table AUTORISATION avec comme colonnes
>
> AAUT_NUMECRAN smallint
> AAUT_UTILID smallint
> AAUT_NIVEAU smallint
>
> où AAUT_NUMECRAN représnte le numéro de l'écran appelé dans l'applicatif
> AAUT_UTILID l'utilisateur en cours
> AAUT_NIVEAU le niveau d'autorisation sur cet écran (valeurs possibles
> 1,2,3,4)
>
> et j'ai des données du style
> 1,1,1 -- écran 1, utilisateur 1, niveau 1
> 1,1,2 -- écran 1, utilisateur 1, niveau 2
> 1,1,3 -- écran 1, utilisateur 1, niveau 3
> 2,1,2 -- écran 2, utilisateur 1, niveau 2
> 2,1,4 -- écran 2, utilisateur 1, niveau 4
> 1,2,1 -- écran 1, utilisateur 2, niveau 1
> 1,2,3 -- écran 1, utilisateur 2, niveau 3
>
> je voudrais savoir s'il est possible avec une requête (sans passer par
des
> boucles) d'obtenir le résultat suivant
>
> AAUT_NUMECRAN AAUT_UTILID Niveau 1 Niveau 2
> Niveau 3 Niveau 4
> 1 1
> 1 1 1 0
> 2 1
> 0 0 0 1
> 1 2
> 1 0 1 0
>
> Merci par avance
>
>
>
>
Mais quand même, j'aurais bien aimé savoir comment s'écrit une telle requête...
Merci quand même de vous être penché sur la question.
"Fred BROUARD" wrote in message news:%
Bonjour,
Ce n'est pas étonnant que vous n'y arriviez pas. SQL n'est pas fait pour cela ! Ce que vous tentez de faire c'est de la cosmétique. Pas de la base de données. Faites cela sur un serveur de présentation.
A défaut vous pouvez quand même utiliser une requête "gore" à l'aide de l'opérateur PIVOT (2005) ou à défaut un case.
Dans tous les cas il vous faut connaître préalablement le nombre de "niveaux"
Ne comptez surtout pas sur moi, pour vous écrire une telle requête. J'y suis particulièrement allergique !
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
jack a écrit : > Bonjour, > > J'ai un problème pour l'écriture d'une requête. > J'ai une table AUTORISATION avec comme colonnes > > AAUT_NUMECRAN smallint > AAUT_UTILID smallint > AAUT_NIVEAU smallint > > où AAUT_NUMECRAN représnte le numéro de l'écran appelé dans l'applicatif > AAUT_UTILID l'utilisateur en cours > AAUT_NIVEAU le niveau d'autorisation sur cet écran (valeurs possibles > 1,2,3,4) > > et j'ai des données du style > 1,1,1 -- écran 1, utilisateur 1, niveau 1 > 1,1,2 -- écran 1, utilisateur 1, niveau 2 > 1,1,3 -- écran 1, utilisateur 1, niveau 3 > 2,1,2 -- écran 2, utilisateur 1, niveau 2 > 2,1,4 -- écran 2, utilisateur 1, niveau 4 > 1,2,1 -- écran 1, utilisateur 2, niveau 1 > 1,2,3 -- écran 1, utilisateur 2, niveau 3 > > je voudrais savoir s'il est possible avec une requête (sans passer par
des
> boucles) d'obtenir le résultat suivant > > AAUT_NUMECRAN AAUT_UTILID Niveau 1 Niveau 2 > Niveau 3 Niveau 4 > 1 1 > 1 1 1 0 > 2 1 > 0 0 0 1 > 1 2 > 1 0 1 0 > > Merci par avance > > > >