これら両方の SQL ステートメントを組み合わせたビューを作成する必要があります。
SELECT g.state_cd, g.state_name,
case when s.ROLE_ID = 110 then 'Yes' else 'No' end POC
FROM us_state g
LEFT OUTER JOIN role s ON g.state_cd = s.OFC_STATE_CD
and s.role_id = 110
SELECT g.state_cd, g.state_name,
case when s.ROLE_ID = 120 then 'Yes' else 'No' end ADM
FROM us_state g
LEFT OUTER JOIN role s ON g.state_cd = s.OFC_STATE_CD
and s.role_id = 120
例えば。
ユーザーには複数の行があります。一部のユーザーは役割 = 110 を持ち、一部のユーザーは役割 = 120 を持ち、一部のユーザーは両方の組み合わせを持ちます。これらの両方を組み合わせた 1 つの SQL ステートメントを作成することは可能ですか。結果は次のようになります。
MD Maryland Yes No
NY Newyork No Yes
NJ Newhersey Yes Yes
上記の表は、次のことを意味します。
MD user has only role of 110
NY user has only the role of 120
NJ user has both roles.
何が必要で、それが理にかなっているのかが明確であることを願っています。
以下のように組み合わせてみました。
SELECT g.state_cd, g.state_name,
case when s.ROLE_ID = 110 then 'Yes' else 'No' end POC,
case when s.ROLE_ID = 120 then 'Yes' else 'No' end ADM
FROM us_state g
LEFT OUTER JOIN role s ON g.state_cd = s.OFC_STATE_CD
and s.role_id in (110, 120)
しかし、これは機能せず、重複した行が返されます。ここで何が欠けているのかわかりません。誰かが助けてくれれば幸いです。
ありがとう
ハリッシュ