Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1345 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQl: affichage de colonnes virtuelles

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQl: affichage de colonnes virtuelles

n°1887561
tilolebo
point trop n'en faut
Posté le 25-05-2009 à 12:53:29  profilanswer
 

Salut,
 
J'ai besoin d'aide pour une requête, voici l'énoncé du problème:
 
BDD: PostgreSQL
 
J'ai une table tbl contenant une colonne A, de type integer. Je souhaite afficher simultanément 3 colonnes que nous appellerons B,C et D, affichant les valeurs x contenues dans A, comme suit:
- B: x =< 100
- C: 100 < x =< 500
- D: x > 500
 
Rien de bien compliqué jusque là. Je souhaite cependant le faire sans créer de table temporaire. L'idéal serait une vue. J'ai sinon pensé à créer 3 colonnes additionnelles dans la table tbl et de les mettre à jour avant chaque affichage, mais je trouve ça un peu lourd.
 
Je précise, pour lever toute ambiguité, que les colonnes B,C et D n'existent que virtuellement.
 
Quelqu'un a une idée ?


---------------
Ravèt pa janmen ni rézon douvan poul
mood
Publicité
Posté le 25-05-2009 à 12:53:29  profilanswer
 

n°1887639
pataluc
Posté le 25-05-2009 à 15:09:23  profilanswer
 

j'ai un peu de mal à voir l'intérêt, et donc l'implémentation de ce truc... tu peux développer?
 
à priori qqchose ressemblant à ca devrait pouvoir marcher, mais ca me parait bien cracra...

Code :
  1. SELECT a,
  2.        CASE WHEN a<=100 THEN a
  3.             ELSE 0
  4.        END as b,
  5.        CASE WHEN a > 100 and a <= 500 THEN a
  6.             ELSE 0
  7.        END as c,
  8.        CASE WHEN a>500 THEN a
  9.             ELSE 0
  10.        END as d
  11.     FROM test;


n°1887661
tilolebo
point trop n'en faut
Posté le 25-05-2009 à 15:24:30  profilanswer
 

pataluc a écrit :

j'ai un peu de mal à voir l'intérêt, et donc l'implémentation de ce truc... tu peux développer?
 
à priori qqchose ressemblant à ca devrait pouvoir marcher, mais ca me parait bien cracra...

Code :
  1. SELECT a,
  2.        CASE WHEN a<=100 THEN a
  3.             ELSE 0
  4.        END as b,
  5.        CASE WHEN a > 100 and a <= 500 THEN a
  6.             ELSE 0
  7.        END as c,
  8.        CASE WHEN a>500 THEN a
  9.             ELSE 0
  10.        END as d
  11.     FROM test;




 
On vient de me filer une réponse sur developpez.net qui utilise aussi CASE, c'est tout à fait ce que je cherchais.
 
Ne me demande pas à quoi ça sert  [:cosmoschtroumpf] , c'est un gars du service client qui m'a demandé ça, il ne voulait pas utiliser ORDER BY.
 
Enfin merci quand même  :jap:


---------------
Ravèt pa janmen ni rézon douvan poul

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQl: affichage de colonnes virtuelles

 

Sujets relatifs
probleme requete Sql sur update clef primaire[SQL] alias de subquery avec Oracle
affichage de double requetes dans un seul tableauaffichage de double requetes dans un seul tableau
Affichage des doublons en SQLAffichage d'une image JPG "sans fichier" [Résolu]
[Besoin d'aide]: php dans requête SQL qui ne fonctionne pasAffichage des <br/> en récupération d'un javascript
Comparaison de deux colonnes dans 2 classeurs Excel 
Plus de sujets relatifs à : SQl: affichage de colonnes virtuelles


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR