[SQL SERVER] SELECT IMBRIQUE -> Mettre une instruction.
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:
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:
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 :aie:
Merci d'avance.