Est-il possible en SQL (mySQL) de faire une màj directe UPDATE par une
requete Select ?
Je m'explique
Soit la req suivante
select benef.ppl_refext as ORD_STAT1,
TG.ppl_refext as ORD_STAT2,
'' as STAT3,
benef.adr_rs as STAT4,
reg.ADR_RS as STAT5,
IC.adr_nom as STAT6,
'' as stat7,
TG.adr_nom as stat8
from people_order
inner join people benef on people_order.ppl_id=benef.ppl_id
inner join people TG on benef.ppl_pere_1=TG.ppl_id
inner join people IC on benef.ppl_pere_3=IC.ppl_id
inner join people reg on IC.ppl_pere_1=reg.ppl_id
where ord_id=97
je voudrais faire un update people_order set ORD_STAT1= , ORD_STAT2=
...
where people_order.ord_id=97
En SQL bien sûr, je sais faire autrement. En fait je voudrais pouvoir
paramétrer ds un fichier une requête (ces màj sont diff d'un dossier à
l'autre) et executer cela comme une sorte de trigger.
Je sais que l'on peut le faire pour une colonne mais un groupe ??
(et je ne veux pas utiliser les triggers car trop propriétaire à la
base)
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
Pierre BOUSQUET
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext , ORD_STAT2=ppl_refext from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
ca devrait marcher
Roumegou Eric a écrit :
Bonjour,
Est-il possible en SQL (mySQL) de faire une màj directe UPDATE par une requete Select ?
Je m'explique Soit la req suivante
select benef.ppl_refext as ORD_STAT1, TG.ppl_refext as ORD_STAT2, '' as STAT3, benef.adr_rs as STAT4, reg.ADR_RS as STAT5, IC.adr_nom as STAT6, '' as stat7, TG.adr_nom as stat8 from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
je voudrais faire un update people_order set ORD_STAT1= , ORD_STAT2= ... where people_order.ord_id
En SQL bien sûr, je sais faire autrement. En fait je voudrais pouvoir paramétrer ds un fichier une requête (ces màj sont diff d'un dossier à l'autre) et executer cela comme une sorte de trigger.
Je sais que l'on peut le faire pour une colonne mais un groupe ??
(et je ne veux pas utiliser les triggers car trop propriétaire à la base)
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext ,
ORD_STAT2=ppl_refext
from people_order
inner join people benef on people_order.ppl_id¾nef.ppl_id
inner join people TG on benef.ppl_pere_1=TG.ppl_id
inner join people IC on benef.ppl_pere_3=IC.ppl_id
inner join people reg on IC.ppl_pere_1=reg.ppl_id
where ord_id
ca devrait marcher
Roumegou Eric a écrit :
Bonjour,
Est-il possible en SQL (mySQL) de faire une màj directe UPDATE par une
requete Select ?
Je m'explique
Soit la req suivante
select benef.ppl_refext as ORD_STAT1,
TG.ppl_refext as ORD_STAT2,
'' as STAT3,
benef.adr_rs as STAT4,
reg.ADR_RS as STAT5,
IC.adr_nom as STAT6,
'' as stat7,
TG.adr_nom as stat8
from people_order
inner join people benef on people_order.ppl_id¾nef.ppl_id
inner join people TG on benef.ppl_pere_1=TG.ppl_id
inner join people IC on benef.ppl_pere_3=IC.ppl_id
inner join people reg on IC.ppl_pere_1=reg.ppl_id
where ord_id
je voudrais faire un update people_order set ORD_STAT1= , ORD_STAT2= ...
where people_order.ord_id
En SQL bien sûr, je sais faire autrement. En fait je voudrais pouvoir
paramétrer ds un fichier une requête (ces màj sont diff d'un dossier à
l'autre) et executer cela comme une sorte de trigger.
Je sais que l'on peut le faire pour une colonne mais un groupe ??
(et je ne veux pas utiliser les triggers car trop propriétaire à la base)
--
Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext , ORD_STAT2=ppl_refext from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
ca devrait marcher
Roumegou Eric a écrit :
Bonjour,
Est-il possible en SQL (mySQL) de faire une màj directe UPDATE par une requete Select ?
Je m'explique Soit la req suivante
select benef.ppl_refext as ORD_STAT1, TG.ppl_refext as ORD_STAT2, '' as STAT3, benef.adr_rs as STAT4, reg.ADR_RS as STAT5, IC.adr_nom as STAT6, '' as stat7, TG.adr_nom as stat8 from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
je voudrais faire un update people_order set ORD_STAT1= , ORD_STAT2= ... where people_order.ord_id
En SQL bien sûr, je sais faire autrement. En fait je voudrais pouvoir paramétrer ds un fichier une requête (ces màj sont diff d'un dossier à l'autre) et executer cela comme une sorte de trigger.
Je sais que l'on peut le faire pour une colonne mais un groupe ??
(et je ne veux pas utiliser les triggers car trop propriétaire à la base)
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
Roumegou Eric
Pierre BOUSQUET a écrit :
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext , ORD_STAT2=ppl_refext from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
ca devrait marcher
update people_order set ORD_STAT1¾nef.ppl_refext, ORD_STAT2=TG.ppl_refext, ORD_STAT3='', ORD_STAT4¾nef.adr_rs, ORD_STAT5=reg.ADR_RS, ORD_STAT6=IC.adr_nom, ORD_STAT7='', ORD_STAT8=TG.adr_nom from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
bien essayé mais non ça marche pô
:/
Pierre BOUSQUET a écrit :
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext , ORD_STAT2=ppl_refext
from people_order
inner join people benef on people_order.ppl_id¾nef.ppl_id
inner join people TG on benef.ppl_pere_1=TG.ppl_id
inner join people IC on benef.ppl_pere_3=IC.ppl_id
inner join people reg on IC.ppl_pere_1=reg.ppl_id
where ord_id
ca devrait marcher
update people_order
set ORD_STAT1¾nef.ppl_refext,
ORD_STAT2=TG.ppl_refext,
ORD_STAT3='',
ORD_STAT4¾nef.adr_rs,
ORD_STAT5=reg.ADR_RS,
ORD_STAT6=IC.adr_nom,
ORD_STAT7='',
ORD_STAT8=TG.adr_nom
from people_order
inner join people benef on people_order.ppl_id¾nef.ppl_id
inner join people TG on benef.ppl_pere_1=TG.ppl_id
inner join people IC on benef.ppl_pere_3=IC.ppl_id
inner join people reg on IC.ppl_pere_1=reg.ppl_id
where ord_id
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext , ORD_STAT2=ppl_refext from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
ca devrait marcher
update people_order set ORD_STAT1¾nef.ppl_refext, ORD_STAT2=TG.ppl_refext, ORD_STAT3='', ORD_STAT4¾nef.adr_rs, ORD_STAT5=reg.ADR_RS, ORD_STAT6=IC.adr_nom, ORD_STAT7='', ORD_STAT8=TG.adr_nom from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
bien essayé mais non ça marche pô
:/
Pierre BOUSQUET
bon ben voila (j'aime pas les jointures dans le WHERE m'enfin...) :
UPDATE test1, test2 SET test1.c2=test2.c2 where test2.c1=test1.c1
Roumegou Eric a pensé très fort :
Pierre BOUSQUET a écrit :
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext , ORD_STAT2=ppl_refext from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
ca devrait marcher
update people_order set ORD_STAT1¾nef.ppl_refext, ORD_STAT2=TG.ppl_refext, ORD_STAT3='', ORD_STAT4¾nef.adr_rs, ORD_STAT5=reg.ADR_RS, ORD_STAT6=IC.adr_nom, ORD_STAT7='', ORD_STAT8=TG.adr_nom from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
bien essayé mais non ça marche pô
:/
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
bon ben voila (j'aime pas les jointures dans le WHERE m'enfin...) :
UPDATE test1, test2 SET test1.c2=test2.c2
where test2.c1=test1.c1
Roumegou Eric a pensé très fort :
Pierre BOUSQUET a écrit :
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext , ORD_STAT2=ppl_refext
from people_order
inner join people benef on people_order.ppl_id¾nef.ppl_id
inner join people TG on benef.ppl_pere_1=TG.ppl_id
inner join people IC on benef.ppl_pere_3=IC.ppl_id
inner join people reg on IC.ppl_pere_1=reg.ppl_id
where ord_id
ca devrait marcher
update people_order
set ORD_STAT1¾nef.ppl_refext,
ORD_STAT2=TG.ppl_refext,
ORD_STAT3='',
ORD_STAT4¾nef.adr_rs,
ORD_STAT5=reg.ADR_RS,
ORD_STAT6=IC.adr_nom,
ORD_STAT7='',
ORD_STAT8=TG.adr_nom
from people_order
inner join people benef on people_order.ppl_id¾nef.ppl_id
inner join people TG on benef.ppl_pere_1=TG.ppl_id
inner join people IC on benef.ppl_pere_3=IC.ppl_id
inner join people reg on IC.ppl_pere_1=reg.ppl_id
where ord_id
bien essayé mais non
ça marche pô
:/
--
Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
bon ben voila (j'aime pas les jointures dans le WHERE m'enfin...) :
UPDATE test1, test2 SET test1.c2=test2.c2 where test2.c1=test1.c1
Roumegou Eric a pensé très fort :
Pierre BOUSQUET a écrit :
UPDATE people_order SET ORD_STAT1¾nef.ppl_refext , ORD_STAT2=ppl_refext from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
ca devrait marcher
update people_order set ORD_STAT1¾nef.ppl_refext, ORD_STAT2=TG.ppl_refext, ORD_STAT3='', ORD_STAT4¾nef.adr_rs, ORD_STAT5=reg.ADR_RS, ORD_STAT6=IC.adr_nom, ORD_STAT7='', ORD_STAT8=TG.adr_nom from people_order inner join people benef on people_order.ppl_id¾nef.ppl_id inner join people TG on benef.ppl_pere_1=TG.ppl_id inner join people IC on benef.ppl_pere_3=IC.ppl_id inner join people reg on IC.ppl_pere_1=reg.ppl_id where ord_id
bien essayé mais non ça marche pô
:/
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "