2009-08-15 7 views
-1

je dois mettre à jour table et mis table. related_id (colonne "lie" de la table avec related table) à NULL où le table. related_id n'existe pas dans le related_table comme related_table. id.SET Table MISE À JOUR related_id = NULL OÙ related_id n'existe pas dans le tableau connexe

exemple:

TABLE: 
---------------------- 
id | name | related_id 
---------------------- 
1 | aaa | 15 
2 | bbb | 36 
3 | ccc | 7 
4 | xxx | 43 

RELATED_TABLE: 
---------- 
id | name 
---------- 
9 | ddd 
15 | eee 
7 | fff 

La requête dont j'ai besoin est censé mettre à jour table comme ça:

TABLE: 
---------------------- 
id | name | related_id 
---------------------- 
1 | aaa | 15 
2 | bbb | NULL 
3 | ccc | 7 
4 | xxx | NULL 

(parce id 36 et 43 n'existe pas dans related_table)

S'il vous plaît, aidez.

Répondre

1
UPDATE table1 t 
SET related_id = NULL 
WHERE NOT EXISTS (SELECT 1 FROM related_table WHERE id = t.related_id) 
Questions connexes