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:
Ça fonctionne bien, sauf quand il n'y a pas d'éléments trouvés dans T2 correspondant au Where.
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')
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:
Mais ça ne donne rien.
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) )
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.
Partager