Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
J'ai une requête qui est sûrement simple, mais je ne sais pas l'écrire.
Soit la table :
CREATE TABLE s_com_eco_empl
(
com ,
p08_pop1564 ,
p08_f1564 ,
p08_act1564 ,
p08_actocc1564 ,
c08_factocc1564 ,
c08_emplt ,
c08_actocc ,
d99_emplt ,
d08_emplt_sal ,
etc...
)
comment faire pour ne sélectionner que les champs qui commencent par "p08" ?
Merci pour votre aide.
Marc
Hors ligne
Il faut mettre la liste des champs en dur.
Pas d'autre solution.
Marc.
Hors ligne
Bonjour, que pensez vous de cette solution:
SELECT attname FROM pg_attribute WHERE attname LIKE 'p08%' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 's_com_eco_empl' );
Elle fait appel aux tables système de postgresql et fournit la liste des attributs (nom de colonne) de la table souhaitée.
Par contre, je ne sais pas si on peut ensuite intégrer ce résultat dans une query SQL pur, sans passer par du C (libpq ou libecpg).
Hors ligne
Oui, la requête fonctionnera pour vous donner la liste des attributs. Vous pouvez aussi passer par la vue information_schema.columns, qui est portable sur plusieurs SGBD.
Par contre, vous ne pourrez pas en faire une liste dynamique. Il faudra que le programme qui génère la requête crée un ordre SQL à partir des noms de colonnes retournés. Vous ne pourrez pas le faire en SQL pur.
Marc.
Hors ligne
Bonjour,
SELECT attname FROM pg_attribute WHERE attname LIKE 'p08%' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 's_com_eco_empl' );
C'est pas exactement ce que je voulais obtenir. Je veux faire afficher les valeurs de certains champs, ceux qui commencent par "p08".
Dans l'esprit, la requête serait :
SELECT p08* FROM s_com_eco_empl
Hors ligne
Ce n'est pas possible "facilement" en sql.
Vous pouvez utiliser cette requête pour créer une vue que vous appellerez ensuite par exemple, ou faire un bout de code pl/pgsql, mais il n'y a aucun moyen simple de le faire, à part taper en dur le nom des champs dans votre requête.
Julien.
https://rjuju.github.io/
Hors ligne
C'est bien dommage .
Merci pour vos réponses !
Sauriez vous où il est possible de trouver des ressources ou des cours en ligne sur pl/pgsql ? je ne trouve des éléments que sur pl/SQL qui semble un peu différent comme langage.
Hors ligne
Vous avez la doc en ligne qui est un bonne source d'information :
http://docs.postgresql.fr/9.1/plpgsql.html
Julien.
https://rjuju.github.io/
Hors ligne
Merci
Hors ligne
Pages : 1