Bonjour à tous,

J'ai 2 tables, une pointe vers l'autre;
[T1id, T1T2id, T1lib]
[T2id, T2lib]

- T1T2id peut être null
- Entre les 2, il y a une contrainte FK

Je voudrais faire un batch d'INSERT pour T1, ça donne ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
INSERT T1 (T1T2id, T1lib) SELECT (SELECT TOP 1 T2id FROM T2 WHERE T2lib='Le lib T2'), ('Mon lib')
Ça fonctionne bien, sauf quand il n'y a pas d'éléments trouvés dans T2 correspondant au Where.

Comment faire, dans un select imbriqué, pour que ça renvoie NULL si le résultat ne convient pas ?

J'ai essayé plein de trucs du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT MAX(
(INSERT T1 (T1T2id, T1lib) SELECT (SELECT TOP 1 T2id FROM T2 WHERE T2lib='Le lib T2'), ('Mon lib') 
UNION 
(SELECT NULL)
)
Mais ça ne donne rien.

J'ai aussi vu qu'il y avait un truc "NULLIF", que j'aurais aimé assayer pour voir si ça allait, mais je n'arrive pas à l'utiliser

Merci d'avance.