Vous n'êtes pas identifié(e).
Pages : 1
voici le code et merci :
SELECT
to_char((table2.date) ::timestamp with time zone, 'MM/YYYY' ::text) AS date,
table2.user,
min(table2.depense),
min(table1.budget)
FROM
table1
INNER JOIN
table2 ON public.table1.user = table2.user
and to_char((table2.date) ::timestamp with time zone, 'MM/YYYY' ::text) = to_char((public.table1.date) ::timestamp with time zone, 'MM/YYYY' ::text)
GROUP BY
to_char((table2.date) ::timestamp with time zone, 'MM/YYYY' ::text),
table2.user
Bonjour,
Merci beaucoup pour votre aide.
J'ai deux table :
La table table1 avec 3 colonnes user, date, budget.
-- Table1 --
U | date | Budget
1 | 01/01/17 | 100
2 | 01/01/17 | 110
3 | 01/01/17 | 101
2 | 15/02/17 | 111
2 | 03/03/17 | 109
3 | 07/06/17 | 102
La table2 avec trois colonnes user, date depense
-- Table2 --
U | date | depense
1 | 04/01/17 | 100
2 | 06/01/17 | 150
1 | 24/02/17 | 130
2 | 20/03/17 | 110
1 | 14/07/17 | 170
3 | 16/08/17 | 180
je souhaiterai avoir la table 2 avec une colonne du budget aloue (< ou = a la date de depense) en fonction des users.
resultat souhaite:
-- resultat --
U | date | depense | budget
1 | 01/17 | 100 | 100
2 | 01/17 | 150 | 110
1 | 02/17 | 130 | 100
2 | 03/17 | 110 | 109
1 | 07/17 | 170 | 100
3 | 08/17 | 180 | 102
je n'y arrive pas, ma formule ne fonctionne pas:
SELECT
to_char((table2.date) ::timestamp with time zone, 'MM/YYYY' ::text) AS date,
table2.depense,
table2.user,
table1.budget
FROM
table1
INNER JOIN table2 ON (public.table1.user = table2.user)
GROUP BY
to_char((table2.date) ::timestamp with time zone, 'MM/YYYY' ::text),
table2.user,
table1.budget
Bonsoir,
SELECT * FROM carmanagement AS t1 WHERE "date" = (SELECT MAX("date") FROM carmanagement AS t2 WHERE t2.u = t1.u GROUP BY u )
ca fonctionne ! un grand merci.
;-)))
Bonjour,
Merci beaucoup pour votre aide.
J'ai une table table1 avec 3 colonnes user, date, budget.
je souhaiterai avoir le budget des user a la date plus recente.
ma formule mais ne fonctionne pas:
SELECT
"public".carmanagement.u,
"public".carmanagement.budget,
Max("public".carmanagement."date")
FROM
"public".carmanagement
GROUP BY
"public".carmanagement.u
-- Table1 --
U | date | Budget
1 | 01/01/17 | 100
2 | 01/01/17 | 110
3 | 01/01/17 | 101
2 | 15/02/17 | 111
2 | 03/03/17 | 109
3 | 07/06/17 | 102
resultat souhaite:
U | date | Budget
1 | 01/01/17 | 100
2 | 03/03/17 | 109
3 | 07/06/17 | 102
voici comment j'ai fait, si ca peut servir a une autre personne.
--trigger tr_insert_taux
CREATE TRIGGER tr_insert_taux
BEFORE INSERT
ON public.table1
FOR EACH ROW
EXECUTE PROCEDURE fc_insert_taux();
--fonction fc_insert_taux
begin
NEW.taux := (SELECT taux FROM table2 WHERE id = NEW.id_usager);
RETURN NEW;
end;
merci.
https://s16.postimg.org/4v51a6ez9/Capture5.jpg
---
CREATE TRIGGER tr_insert_taux
after INSERT ON table1
FOR EACH ROW
EXECUTE PROCEDURE fc_insert_taux();
---
create or replace function fc_insert_taux() RETURNS text AS $$
begin
update table1
set table1.taux=table2.taux
where table2.id=table1.id_usager
end;
punaise je n'arrive pas
pouvez-vous m'aider, merci.
je suis en 9.5. je vais voir cela et merci pour votre reponse.
je ne sais pas l'ecrire.
dans la table1, c'est l'encodage des usagers avec le temps d'intervention avec une colonne date que je n'ai pas ajoute ici. une fois le taux fixe dans la ligne, il ne devra plus etre modifie.
dans la table2, c'est une table des usagers avec leur taux horaire en sachant que se taux pourra etre change a tout moment par le RH.
merci pour votre aide.
Bonjour,
J'ai deux tables (Table1 et Table2). Je souhaiterais que la colonne 'taux' de la table1 s'update automatique quand la ligne est creer. ceci par rapport a la table2 de la colonne 'taux' en fonction de la colonne 'id_usager'.
Les taux de la Table2 peuvent changer.
Merci pour votre aide.
Table1 - encodages
id id_usager temps taux
111 5 15 105
112 2 20 102
113 4 21
114 1 36
115 5 45
Table2 - usager
id nom taux
1 toto 11
2 titi 102
3 tata 130
4 tutu 14
5 tete 105
Pages : 1