Со следующей схемой:
CREATE TABLE FOOD (
SERIAL_NUMBER BIGINT,
FOOD_TYPE ENUM('FRUIT','VEGGIE','MEAT')
);
и следующими данными:
INSERT INTO FOOD(SERIAL_NUMBER, FOOD_TYPE)
VALUES(12345, 'FRUIT');
Я пытаюсь выполнить следующий запрос в H2:
SELECT count(*) FROM (
SELECT * FROM FOOD WHERE FOOD_TYPE <> 'MEAT'
)
И я получаю следующее сообщение об ошибке:
Column "MEAT" not found; SQL statement:
SELECT count(*) from (
SELECT * FROM FOOD WHERE FOOD_TYPE <> 'MEAT'
) [42122-197]
Без предложения WHERE
или с фильтрацией по SERIAL_NUMBER
вместо FOOD_TYPE
запрос выполняется нормально и возвращает '1«.Есть ли что-то о ENUM в подзапросах, которые H2 не может обработать?