Hi, многоуважаемый All!

  Сразу же сорри за аттач, но я посчитал что 6 к
  погоды не сыграют и обьяснять надо по минимуму :)
  
FB 2.0.0.12745 (RC5) CS

тестовый запрос с любым in в where:
  delete from t4_string where id not in (select val_id from val)
  и иже вариации ...
  
не отрабатывает условие id not in (select val_id from val)
при условии что (select val_id from val) может вернуть NULL
в перемежку с нормальными целочисленными значениями ... :(

1) delete from t4_string where id not in (select val_id from val where val_id 
is not null)
   работает

2) если предварительно делаем:
     delete from val where val_id is null
   то тестовый запрос отрабатывает

3) delete from t4_string t where not exists (select * from val where val_id = 
t.id);
   работает в любом случае

есть подозрение:

  a) я туплю
  b) этот глюк давно всем, кроме меня, знаком и меня пошлют подальше ...
  c) неверно написан тестовый запрос (сразу вопрос почему не ругается)
  d) возможно это нормальное поведение при Null-ах в поле val_id таблицы val,
     тогда обьясните почему
  e) это всё-таки бага

С уважением,
Константин Григорьевич.
===============

Attachment: BASE.rar
Description: Binary data

Ответить