314 :
NAME IS NULL:
簡単そうな気がするのですが、どうしてもうまくいかないので、分かる方がいれば教えてください。
ユーザーが複数の資格を持っているというありがちなテーブル構成があるのですが、
「資格1または資格2を持っているユーザー」の検索はできるのですが、
「資格1と資格2」を両方持っているユーザー」の検索ができません。
データベースはpostgresです。
テーブル構成はこんな感じです。
ユーザーテーブル
[ユーザーID、名前]
001,山田
002,鈴木
資格テーブル
[ユーザーID、資格]
001,資格1
001,資格2
002,資格1
「資格1または資格2を持っているユーザー」であれば、
select distinct ユーザーテーブル.ユーザーID、名前 from ユーザーテーブル
inner join 資格テーブル on (ユーザーテーブル.ユーザーID = 資格テーブル.ユーザーID)
where 資格テーブル.資格 = '資格1'
or 資格テーブル.資格 = '資格2'
で取得できました。
「資格1と資格2」を両方持っているユーザーとして山田さんを検索したいのですが、
単純にorをandにすると、対象が0件になってしまいます。
とても困っているので、よろしくお願いします。