0
Oracleのバージョンは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
このクエリの結果は、例えば、
select count(t_name)
from (select t2.t_name
from t_test t2
where t2.t_id=1
group by t2.t_name)
結果は何とか1、 で、= 1 テイクt1.t_id非常に奇妙である
t_id a
1 3
2 3
3 3
4 3
5 3
6 3
、あります'where'演算子が機能しない場合、結果は次のようにクエリを置くのと全く同じです:
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
なぜですか?
私はちょうどスカラサブクエリが「でグループ」を持っている、と私は理由を知りたい興味深い事実を見つけ、スカラー副問合せを使用したくありません。この質問文字列が私のオラクルで働いたのは不思議です。 – user1021531