カラムが(tid、tname) のテーブル 'teachers'があり、カラムが(sid、sname)のテーブル 'students'があります。彼らがm:nの関係を持っていると仮定すると、tidとsidの両方がそれぞれ教師と学生の一冊を参照しているもう一つのテーブルt_s(tid、sid)があります。 今、私が知りたい:。(自分のTIDの付き)教師の名前と各先生の下で、学生の数を[使用せずに参加または直積]異なるタイプの異なるテーブルのカラムを結合なしで選択する
次のクエリは私にTIDとの数を返します:
SELECT t.tid, count(*) as numberofstudents
FROM t_s t
GROUPBY by t.tid;
SELECT t.tid, count(*) as numberofstudents
FROM t_s t
GROUP BY t.tid
UNION
SELECT t1.tid,t1.tname
FROM teachers t1
WHERE t1.tid in (SELECT t2.tid
FROM t_s t2)
は、列の型が異なるため、それが動作しないことを発見:
は、どのように私は労働組合と試みたそれぞれのTIDとTNAMEに、一致します。
これを達成する方法はありますか? ありがとうございました!
W結合なしでハイ? –
JOINの回避は、少し不自然です。 – Strawberry
は純粋にプレゼンテーションですか?あなたは先生の名前のヘッダーの行をし、その数を(横ではなく)下にしたいですか? –