●概要●
HAVING句を使用して、GROUP BY句でグループ化したグループに条件を指定します。
HAVING句では、SELECT句で指定していないフィールドを条件に使用することもできます。サンプルでは、「部署」ごとのレコード件数が2件以上のグループを選択します。
●サンプル●
'グループに条件を指定する
Public Sub Sample()
Dim myDB As Database
Dim myRS As DAO.Recordset
Dim mySQL As String
'SQLステートメントを定義する
mySQL = "SELECT 部署コード,COUNT(社員コード) " & _
"FROM 社員テーブル GROUP BY 部署コード " & _
"HAVING COUNT(社員コード) >= 2;"
'カレントデータベースを変数に代入する
Set myDB = CurrentDb
'SQLステートメントを実行してレコードセットを開く
Set myRS = myDB.OpenRecordset(mySQL, dbOpenDynaset)
'レコードセットの内容を表示する
Do Until myRS.EOF
Debug.Print "部署コード: " & myRS(0) & " " & myRS(1) & "人"
myRS.MoveNext
Loop
'レコードセットを閉じる
myRS.Close
End Sub
●補足●
結果は[イミディエイト]ウィンドウに表示されます。