You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle多表查询需求:基于members_tbl的request_id获取成员所属组及全组成员信息

Oracle查询:基于request_id关联成员与所属组并展示组内所有用户

针对你的需求,我们可以通过多表关联的方式实现:先定位request_id对应的成员,再关联到他们所属的组,最后拉取该组内的所有用户。下面是具体的查询方案:

核心查询语句

如果要查询指定request_id(比如123)对应的组及组内用户,可以用这个语句:

SELECT DISTINCT
    g.group_type,
    u.email
FROM
    members_tbl m
JOIN users_tbl u1 ON m.email = u1.email
JOIN groups_tbl g ON u1.user_id = g.user_id
JOIN users_tbl u ON g.user_id = u.user_id
WHERE
    m.request_id = 123;

如果需要一次性查询所有request_id对应的结果(包含request_id字段),可以调整为:

SELECT DISTINCT
    m.request_id,
    g.group_type,
    u.email
FROM
    members_tbl m
JOIN users_tbl u1 ON m.email = u1.email
JOIN groups_tbl g ON u1.user_id = g.user_id
JOIN users_tbl u ON g.user_id = u.user_id
ORDER BY
    m.request_id, g.group_type;

逻辑拆解

  1. 关联成员与基础用户信息:通过members_tbl.email和users_tbl.email匹配,拿到该request_id下所有成员的user_id
  2. 定位成员所属组:用成员的user_id关联groups_tbl,获取对应的group_type和组关联关系
  3. 拉取组内所有用户:再次连接users_tbl,通过组的user_id关联,拿到该组下的全部用户邮箱
  4. 去重处理:因为同一个组可能被多个成员关联到,用DISTINCT避免重复输出相同的组-用户记录

测试结果验证

用你提供的测试数据执行第一个查询(指定request_id=123),会得到预期结果:

group_typeemail
Amike@yahoo.com
Asam@yahoo.com
Bpeter@yahoo.com

附:表结构与测试数据

为方便参考,这里整理你提供的表创建和插入语句:

users_tbl

CREATE TABLE users_tbl (
    user_id NUMBER,
    email VARCHAR2(100)
);

INSERT INTO users_tbl VALUES(1, 'mike@yahoo.com');
INSERT INTO users_tbl VALUES(2, 'sam@yahoo.com');
INSERT INTO users_tbl VALUES(3, 'peter@yahoo.com');

members_tbl

CREATE TABLE members_tbl (
    member_id NUMBER,
    request_id NUMBER,
    email VARCHAR2(100)
);

INSERT INTO members_tbl VALUES(1, 123, 'mike@yahoo.com');
INSERT INTO members_tbl VALUES(2, 123, 'peter@yahoo.com');

groups_tbl

CREATE TABLE groups_tbl (
    group_id NUMBER,
    group_type VARCHAR2(10),
    user_id NUMBER
);

INSERT INTO groups_tbl VALUES (1, 'A', 1);
INSERT INTO groups_tbl VALUES (2, 'A', 2);
INSERT INTO groups_tbl VALUES (3, 'B', 3);

内容的提问来源于stack exchange,提问作者IceTea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 13:54:08