Arjuna Aircraft Ident.: F-MBSD | Hmmm...
Avec SQL Server 2000, j'ai réussi à la faire (parceque je me souvenais de la syntaxe) sauf que je me suis rendu compte que ça ne marche pas si on boucle la jointure sur elle-même
Code :
- from test2 b
- drop table test1
- go
- drop table test2
- go
- create table test1 (id numeric, val1 varchar(10), val2 varchar(1))
- go
- insert into test1 (id, val1, val2) values (1, 'toto', 'O')
- insert into test1 (id, val1, val2) values (2, 'titi', 'O')
- insert into test1 (id, val1, val2) values (1, 'truc', 'N')
- insert into test1 (id, val1, val2) values (2, 'tata', 'N')
- insert into test1 (id, val1, val2) values (3, 'tutu', 'O')
- go
- create table test2 (id numeric, val1 varchar(10), val2 varchar(1))
- go
- insert into test2 (id, val1, val2) values (1, 'toto', 'O')
- insert into test2 (id, val1, val2) values (2, 'titi', 'O')
- insert into test2 (id, val1, val2) values (1, 'truc', 'N')
- insert into test2 (id, val1, val2) values (2, 'tata', 'N')
- insert into test2 (id, val1, val2) values (3, 'tutu', 'O')
- go
- update test1
- set test1.val1 = test2.val1
- from test2
- where test1.id = test2.id
- and test1.val2 = 'O'
- and test2.val2 = 'N'
- go
- select *
- from test1
- go
- ID VAL1 VAL2
- 1 truc O
- 2 tata O
- 1 truc N
- 2 tata N
- 3 tutu O
|
Rien à faire avec Oracle, même si je passe par deux tables... Grrrr c'est quoi cette syntaxe ? |