Message posté par : Kiecane
----------------------------------------
J'ai réussi à faire fonctionner le script en le mettant sous la forme suivante :
SELECT
' CREATE OR REPLACE VIEW vue_puce'||puce||' AS ( '
||' SELECT poids '
||' FROM total_obs_ve '
||' WHERE puce=\'|| puce::text||'\'')'
FROM
total_obs_ve
GROUP BY
puce
;
J'obtiens une table à une colonne dont le champ se nomme ?column? text et chaque ligne
contient une phrase de la forme suivante :
CREATE OR REPLACE VIEW vue_puce-numeropuce AS ( SELECT poids FROM total_obs_ve WHERE
puce=\-numeropuce\')
avec -numeropuce qui correspond à une suite de caractères (=la puce de l'individu)
Question 1 :
-----------------
Citation :
une fois votre requête validée, il faut la l'executer dans le shell, ensuite entrer la
metacommande \gexec qui prendra les resultats de votre
requête précédent et executera les requête de création de vue. Ensuite vous aurez à votre
diposition autant de vue que de puces.
-----------------
Du coup, je suis allée dans le SQL shell et j'ai noté ce même script après le
postgres=# _ (postgres étant le nom de ma base) qui apparaissait. Cependant, cela ne
semble pas fonctionner (quand je clique sur entrée j'ai un nombre indéfini de lignes
qui apparaissent semblables à la ligne précédente : CREATE OR REPLACE VIEW
vue_puce-numeropuce AS ( SELECT poids FROM total_obs_ve WHERE
puce=\-numeropuce\')). Je me suis dit que ce n'était peut-être pas ça qu'il
fallait faire, donc j'ai mis ma requête dans un bloc-note et je voulais l'exécuter
dans le shell ensuite (un peu comme sous Python) mais je dois mal m'y prendre
parce-que je ne vois pas comment faire....
Question 2 :
-----------------
Citation :
Mais comme le remarque de Al3+, peut être vaut-il mieux juste filtrer votre table avec une
condition where, mais votre scenario d'utilisation est un peu flou,
c'est difficile de vous conseiller.
-----------------
Mon but final c'est de faire une application pour des agents de terrain qui ont besoin
de se renseigner sur un animal trouvé dans la nature et qui porte un numéro de puce.
J'aimerais bien qu'à partir de ma table originale (cf mon tout premier message),
il puisse "cliquer" (ou autre chose) sur le numéro de la puce de l'animal
trouvé ce qui permettrait d'avoir l'historique des différentes captures de ce
dernier sous la forme d'une sous-table individuelle (cf mon premier message).
Je suis novice dans l'utilisation de pgAdmin et du langage postgre/SQL et c'est
pour ça que je ne suis pas très douée pour le moment, mais je suis preneuse
d'explications pour m'améliorer. Filtrer ma table avec une condition where est ce
à quoi j'ai pensé en premier lieu mais je ne sais pas faire le lien entre ce que
l'utilisateur va demander et le where (cf mon message de 11:03).
Question 3 :
Par ailleurs, je me demandais
justement si je devais faire apparaître dans le MCD de ma base de données une table sous
la forme de sous-table que j'ai mis dans la pièce jointe de mon premier message, ou si
ce n'est pas la peine étant donné que c'est quelque chose que l'utilisateur va
demander de voir.
Merci pour votre patience
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=350908#p350908
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net