Я хотел бы написать предложение case
, которое получает данные из внутреннего запроса.Пожалуйста, позвольте мне описать это более подробно.
Допустим, у меня есть таблица:
create table food
( fruit varchar2(50),
chips varchar2(50)
);
со значениями
INSERT INTO food
(fruit, chips)
VALUES ('Apple', 'Paprika');
INSERT INTO food
(fruit, chips)
VALUES ('Orange', 'Salt');
DB Fiddle
Я хотел бы написать запрос, который покажет:
фрукты, чипсы и 1, если фрукты это «Apple», и 0 в противном случае
, который даст результат (пример)
'Apple', 'Paprika', 1
'Orange, 'Salt', 0
Я не хочу использовать соединения для этого. Это должен быть подзапрос .Это требование, которое я должен соблюдать.
Я получил следующий запрос:
select f.fruit,
((case (select ff.fruit from food ff)
when ff.fruit = 'Apple' then 1 else 0 end ) as is_apple) from food f;
Однако я получаю следующую ошибку ORA-00905: missing keyword