Да и нет :-) Это ваш запрос:
select min(select coloumn1 from table1) from dual;
Давайте посмотрим на этот доводчик:
select min(something) from dual;
Это something
может быть подзапросом, но он должен возвращать только одно значение, то есть один столбец и не более одной строки. Подзапросы записываются в круглых скобках, например. (select coloumn1 from table1)
. Вы получите
select min((select coloumn1 from table1)) from dual;
Это синтаксически актуально. Но, ну, в таблице 1 должно быть не более одной записи (или вам нужно добавить предложение where, чтобы получить не более одной строки).
В любом случае вы выбираете из двойного, так что MIN(something)
- это то же самое, что и something
. Так что семантически это не имеет смысла. Но сама конструкция действительна, и вы, например, можете использовать:
select min((select col1 from t2 where t2.id = t1.id_t2)) from t1;
Это что-то, но вы не часто увидите.
Вы пробовали? Каков ваш прецедент? – Undo
yes it says error: missing expression –
Я знаю, что выражение должно присутствовать внутри функции. Но can not запрос обрабатывается как выражение –