社員テーブルがありまして、同じ苗字の人がどれぐらいいるのかを取得しようとしています。
select mi,na,count(mi) from shain group by mi
これで下のような結果を得るつもりが
青木 章太 2 ←青木が2人いたということ
青木 健吾 2 ←青木が2人いたということ
石田 雄人 5 ←石田が5人いたということ
・・・
下のようなエラーになりました。どうしたらよいでしょうか?
mi,na,count(mi) の3項目を得るのは必須です。
Microsoft OLE DB Provider for ODBC Drivers エラー '80040e14'
[Microsoft][ODBC Microsoft Access Driver] 集計関数の一部として指定された式 'na' を含んでいないクエリを実行しようとしました。
失礼しました。題意を読み取り違えてました。
1)副問い合わせで、先に「苗字毎の件数が1を越える苗字」を抽出。
2)その結果を受けて、該当の苗字をもつレコードとその件数を表示、ですね。
1)と2)を別クエリで作成するのが、簡単かつ確実。
一文での記述は試験環境が無いので怪しい。
Oracleだったら以下でいけるハズだがACCESSはどうでしょう??
select b.mi, b.na, a.kensuu from syain b,(select mi, count(*) kensuu from shain group by mi having count(*)>1) a
where b.mi=a.mi;
お礼
ありがとうございます。 こちらも今はテストできなくなってしまったので、解決しなければまた質問しますのでよろしくおねがいします。