いくつかの結合を行うビューを Oracle で作成するのに問題があります。主な問題: 結果行で表される n:n 関係を取得しますか? オラクル 10.x
表: HAS_APPLICATIONS
USER_ID APPLICATION_ID
------- --------------
1 1
1 2
4 2
4 1
2 1
2 3
表: アプリケーション
ID APPLICATION
--------- -----------
1 Windows
2 OSx
3 FreeDos
表: ユーザー
USER_ID NAME
------- ---------
1 Bob
4 Johny
2 Elvis
次のようなビュー(選択)が必要です:
USER_ID NAME APPLICATIONS
1 Bob Windows, OSx
2 Elvis Windows, FreeDos
4 Johny OSx, Freedos
私の「機能していない」クエリ:
SELECT
u.NAME,
(SELECT
APPLICATION_ID
FROM
HAS_APPLICATIONS
LEFT JOIN APPLICATIONS ON HAS_APPLICATIONS.USER_ID = APPLICATIONS.ID
WHERE
HAS_APPLICATIONS.USER_ID = u.ID) ???????????
FROM
USERS u