Моя версия оракула - 10.2. Очень странно, когда скалярный подзапрос имеет агрегированную операцию. Моя таблица с именем t_test выглядела так:Скалярный подзапрос имеет общую операцию
t_id t_name
1 1
2 1
3 2
4 2
5 3
6 3
строка запроса выглядела так:
select t1.t_id,
(select count(t_name)
from (select t2.t_name
from t_test t2
where t2.t_id=t1.t_id
group by t2.t_name)) a
from t_test t1
результат Этот запрос является,
t_id a
1 3
2 3
3 3
4 3
5 3
6 3
, который очень странно, берут t1.t_id = 1, например,
select count(t_name)
from (select t2.t_name
from t_test t2
where t2.t_id=1
group by t2.t_name)
результат 1, каким-то образом, то Оператор «где» не работает, результат точно такой же, как и мой вопрос:
select t1.t_id,
(select count(t_name)
from (select t2.t_name
from t_test t2
group by t2.t_name)) a
from t_test t1
Почему?
0 Я не хочу использовать скалярный подзапрос, я просто нахожу интересный факт, когда в скалярном подзапросе есть «группа», и я хочу знать, почему. Странно, что эта строка запроса работала в моем оракуле. – user1021531