私は2つのテーブルを持っています:
従業員
emp_id, emp_name, emp_dept, emp_sal
1 A A 1
2 B B 2
3 C C 3
4 D D 4
トライアル
emp_id, random
1 X
1 Y
2 Z
3 A
4 B
Employee と Trial の Natural Join を実行すると、
私は結果を得るでしょう:
emp_id, emp_name, emp_dept, emp_sal random
1 A A 1 X
1 A A 1 Y
2 B B 2 Z
3 C C 3 A
4 D D 4 B
前述の Natural Join を実行して、組織内の部門数を 1 回のクエリでカウントしたい場合、どうすればそれを実行できますか?
select count(emp_dept) from (select distinct(emp_dept) from employee natural join trial) as T2;
動作しますが、上記を行う別の方法があるかどうか疑問に思っていますか?
ノート:
自然結合は必須です!
次のコードの両方を試しましたが、惨めに失敗しました。:P
select count(emp_dept) from (select (emp_dept) from employee natural join trial) as T2;
実際の答えは 4 であるのに、5 をくれました。select count(select distinct(emp_dept) as emp_date from (select * from employee natural join trial) as T2) from T2;
select count(select distinct(emp_dept) as emp_date from (select * from employee natural join trial) as T2) from (select * from employee natural join trial) as T3);
^ 上記の 3 行のコードで何が間違っていましたか?
前もって感謝します!:)