Bonjour,
Je tourne avec ce problème depuis 2 jours.
J'essaie de mettre à jour (UPDATE) une table avec une notion de groupe. je
m'explique :
J'ai une base que je voudrais mettre à jour par une constante en prenant le
1er de chaque groupe.
Le select correspond à cela :
SELECT marqu, typveh, modele, couleu
FROM VEHICULE WHERE visupart = 'O'
GROUP BY marqu, typveh, modele, couleu
ORDER BY marqu, typveh, modele, couleu
bien sur ma base à un identifiant (pointeur)
et l'UPDATE que je veux faire sur le champ visu est une constante 'O'.
J'ai trouvé des exmples mais je n'y arrive pas. Je dois faire un blocage !!!
merci d'avance
Guy
Ca marche nickel merci beaucoup. je vais regarder en profondeur cette requete car je n'ai pas tout compris. En tous les cas vraiment merci. Guy
-- @+ Guy "Guy Gasiorowski" a écrit dans le message de news:
"Rudi Bruchez" <rudi#nospam#at#babaluga.com> a écrit dans le message de news: %
Guy Gasiorowski a écrit:
CREATE TABLE [dbo].[VEHICULE] (
Merci.
Il n'y a pas de colonne "visu" dans ta table. Mettre toutes les informations dans la même table est une très mauvaise idée. Je réitère mon conseil : apprend le modèle relationnel.
Mon erreur était stupide : des , au lieu des AND dans la condition de jointure.
pardon c'est visuluxauto le champ
update v1 SET visu = 'O' -- la colonne n'existe pas ? FROM vehicule v1 JOIN (SELECT v.marqu,v.typveh,v.modele,v.Couleu, MIN(v.pointpst) as pointpst FROM VEHICULE v WHERE v.visupart = 'O' AND (v.pointcli = 0 or v.pointcli is null) GROUP BY v.marqu,v.typveh,v.modele,v.Couleu) v2 ON v1.marqu = v2.marqu AND v1.typveh = v2.typveh AND v1.modele = v2.modele AND v1.Couleu = v2.Couleu AND v1.pointpst = v2.pointpst
Ca marche nickel
merci beaucoup.
je vais regarder en profondeur cette requete car je n'ai pas tout compris.
En tous les cas vraiment merci.
Guy
--
@+
Guy
"Guy Gasiorowski" <guy.gasiorowski@online.fr> a écrit dans le message de
news: OMyZ1YpYIHA.220@TK2MSFTNGP04.phx.gbl...
"Rudi Bruchez" <rudi#nospam#at#babaluga.com> a écrit dans le message de
news: %23kjq4OpYIHA.5900@TK2MSFTNGP02.phx.gbl...
Guy Gasiorowski a écrit:
CREATE TABLE [dbo].[VEHICULE] (
Merci.
Il n'y a pas de colonne "visu" dans ta table.
Mettre toutes les informations dans la même table est une très mauvaise
idée. Je réitère mon conseil : apprend le modèle relationnel.
Mon erreur était stupide : des , au lieu des AND dans la condition de
jointure.
pardon c'est visuluxauto le champ
update v1
SET visu = 'O' -- la colonne n'existe pas ?
FROM vehicule v1
JOIN (SELECT v.marqu,v.typveh,v.modele,v.Couleu, MIN(v.pointpst) as
pointpst
FROM VEHICULE v
WHERE v.visupart = 'O'
AND (v.pointcli = 0 or v.pointcli is null)
GROUP BY v.marqu,v.typveh,v.modele,v.Couleu) v2
ON v1.marqu = v2.marqu AND
v1.typveh = v2.typveh AND
v1.modele = v2.modele AND
v1.Couleu = v2.Couleu AND
v1.pointpst = v2.pointpst
Ca marche nickel merci beaucoup. je vais regarder en profondeur cette requete car je n'ai pas tout compris. En tous les cas vraiment merci. Guy
-- @+ Guy "Guy Gasiorowski" a écrit dans le message de news:
"Rudi Bruchez" <rudi#nospam#at#babaluga.com> a écrit dans le message de news: %
Guy Gasiorowski a écrit:
CREATE TABLE [dbo].[VEHICULE] (
Merci.
Il n'y a pas de colonne "visu" dans ta table. Mettre toutes les informations dans la même table est une très mauvaise idée. Je réitère mon conseil : apprend le modèle relationnel.
Mon erreur était stupide : des , au lieu des AND dans la condition de jointure.
pardon c'est visuluxauto le champ
update v1 SET visu = 'O' -- la colonne n'existe pas ? FROM vehicule v1 JOIN (SELECT v.marqu,v.typveh,v.modele,v.Couleu, MIN(v.pointpst) as pointpst FROM VEHICULE v WHERE v.visupart = 'O' AND (v.pointcli = 0 or v.pointcli is null) GROUP BY v.marqu,v.typveh,v.modele,v.Couleu) v2 ON v1.marqu = v2.marqu AND v1.typveh = v2.typveh AND v1.modele = v2.modele AND v1.Couleu = v2.Couleu AND v1.pointpst = v2.pointpst