Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

copier un champs vers lui même ?

1 réponse
Avatar
olivier
bonjour,

dans ma tables ADRESSES j'ai des adresses par éléves (il peut y en avoir
plusieurs..)
TABLE ADRESSES

AD_id INT
eleve_ID int
voie varchar()
ville varchar()

pour chaque éléve :

je voudrais recopier dans la dernière adresse saisie (donc avec l'id le plus
élévé)
le contenu de la 1ère adresse saisie (donc avec l'id le plus bas)

j'espère mes explication assez claires ;-)
merci

1 réponse

Avatar
Philippe TROTIN [MS]
Bonsoir,

Voici un exemple mais il y a peut être plus simple :

<<

DECLARE @ADRESSES TABLE(AD_id INT, eleve_ID int, voie varchar(100), ville
varchar(100))

INSERT INTO @ADRESSES(AD_id, eleve_ID, voie, ville) VALUES(1, 1, 'aaa',
'paris')
INSERT INTO @ADRESSES(AD_id, eleve_ID, voie, ville) VALUES(2, 1, 'bbb',
'lyon')
INSERT INTO @ADRESSES(AD_id, eleve_ID, voie, ville) VALUES(3, 1, 'ccc',
'marseille')
INSERT INTO @ADRESSES(AD_id, eleve_ID, voie, ville) VALUES(4, 2, 'aaa2',
'paris')
INSERT INTO @ADRESSES(AD_id, eleve_ID, voie, ville) VALUES(5, 2, 'bbb2',
'lyon')

-- Avant
SELECT * FROM @ADRESSES

UPDATE @ADRESSES
SET voie = z2.voie, ville = z2.ville
FROM @ADRESSES a
INNER JOIN (SELECT DISTINCT MAX(AD_id) AS AD_id, eleve_ID FROM @ADRESSES
GROUP BY eleve_ID) z1 ON a.AD_id = z1.AD_id
INNER JOIN (SELECT x.* FROM @ADRESSES x INNER JOIN (SELECT DISTINCT
MIN(AD_id) AS AD_id, eleve_ID FROM @ADRESSES GROUP BY eleve_ID) y ON x.AD_id
= y.AD_id) z2 ON z1.eleve_ID = z2.eleve_ID

-- Apres
SELECT * FROM @ADRESSES








Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"olivier" a écrit dans le message de groupe de discussion :

bonjour,

dans ma tables ADRESSES j'ai des adresses par éléves (il peut y en avoir
plusieurs..)
TABLE ADRESSES

AD_id INT
eleve_ID int
voie varchar()
ville varchar()

pour chaque éléve :

je voudrais recopier dans la dernière adresse saisie (donc avec l'id le
plus élévé)
le contenu de la 1ère adresse saisie (donc avec l'id le plus bas)

j'espère mes explication assez claires ;-)
merci