我在 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