> почему если такого кода в таблице нет, какие-то строки удовлетворяют условию [Y]=[code]!
Типа ответ:
Код (ваш случай когда [Y]=[code]) возвращает значение в зависимости от наличия записей в таблице:
SELECT 1 AS newInput
FROM shop
HAVING Count(*)=0 and true;
Код (ваш случай когда [Y]<>[code]) возвращает значение независимо от наличия записей в таблице:
SELECT 1 AS newInput
FROM shop
HAVING Count(*)=0 and false;
В этих примерах как бы все понятно кроме одного момента (мне)
На ЧТО накладывается условие FALSE/TRUE ?
Ведь если правильно понимаю хелп, то HAVING накладывает условие на группу
Если GROUP BY отсутствует то группой считается весь набор записей таблицы, а условие в HAVING относится к элементу по которому группируется.
К какому относится FALSE/TRUE ?