従業員が特定のusergruopのメンバーであり、 'contractor'という単語の一部であるかどうかを判断しようとしています。すべての従業員は複数のユーザグループに参加することができます。Select case文:1行のサブクエリが複数の行を返します
これは私のSelect Caseステートメントである:
SELECT CASE WHEN
(SELECT usergroup FROM usergr
WHERE usergroupnumber = (SELECT usergroupnumber FROM userlist
WHERE username='Carl'))
LIKE '%contractor%' THEN 1
ELSE 0
END FROM DUAL
は、今ではカール以上1つのユーザーグループのメンバーであるため、1行以上を返すこのサブクエリです。 これらのユーザーグループの1つに「契約者」が含まれているかどうかを確認するにはどうすればよいですか。
更新日: 私はあなたにこれに関するいくつかの追加情報を提供させてください。
これは、文書管理プログラムで使用されます。このプログラムでは、すべての文書に添付された異なる属性を作成することができます。これらの属性では、select文に基づいて値を配置できます。たとえば、私はプロジェクト番号の値をさまざまなプロジェクトで作成されたドキュメントに追加する属性を作成しました。
上記の私の問題については、値0または1のいずれかを保持する属性が必要です。これは、ファイルを処理するときにユーザーがプログラムで特定のタスクを実行できるかどうかを制御します。
私は「ほとんどの作品の上に書かれているSelect Caseステートメント。なぜなら、あなたが 'John'や 'Brian'で 'Carl'を変更すると、これらのメンバーはただ1人のユーザーグループのメンバーなので、正しい値が得られるからです。 しかし、 'Carl'や 'James'では、複数のユーザーグループの一部としてエラーが発生します。あなたが私を与えた '例' を使用している場合
は、私は次のような結果が欲しい:
- 「ジョンの値は= 0 'カール' の値は= 1
- を
- 'ジェームズ値=
- 1 『ブライアン』の値= 0
関連するテーブルとカラムの名前を教えてください。それをリバースエンジニアリングすることはできますが、私たちに伝えているだけではなく、もっと努力しています。 – mathguy
['EXISTS'](https://www.techonthenet.com/oracle/exists.php)を使用してください。 –