3つのテーブルがあり、教師名と各教師が予約したクラスの数を選択するためのクエリが必要です。
先生:
| idt | name |
クラス:
| idc | name |
予約:
| idc | idt |
私の質問:
select
t.name, count(distinct(r.idc))
from
teacher t
join
reserve r
on
r.idt = t.idt
join
class c
on
c.idc = r.idc
group by r.idc
これを実行すると、次のエラーが発生します。 not a group by expression.
group by
句はからすべての非集計列を含める必要があるselect
文を、あなたの場合はそうあるべきですt.name
。また、distinct
は関数ではなくキーワードであり、括弧を含めることはできません。
select
t.name,
count(distinct r.idc) as number_of_classes
from
teacher t
join
reserve r on r.idt = t.idt
join
class c on c.idc = r.idc
group by
t.name
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加