oracle SQL 一张表中两个字段对应另一张表同一字段,如何联合查询出这两个字段对应的值?

该SQL查询从MJ_EQ_ALARM表开始,通过LEFT JOIN操作连接MA_EQ, MA_AREA和MA_AREA表,分别获取FACTORY_ID和BUSINESS_ID对应的region_name,条件是DEL_STATUS为1。查询结果包括EQ_NAME, ALARM_START_TIME, ALARM_LEVEL, ALARM_TYPE, RULE_DESC, FACTORY_ID, BUSSINESS_ID以及两个region_name字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表1如下:

对应表2的主键ID

现需查询出表一中的每条数据对应的两个region_name。解决办法如下:

SELECT
    T2.EQ_NAME,
    T1.ALARM_START_TIME,
    T1.ALARM_LEVAL,
    T1.ALARM_TYPE,
    T1.RULE_DESC,
    T1.FACTORY_ID,
    T1.BUSSINESS_ID,
    t3.region_name as factory_name,
t4.region_name as bussiness_name
FROM
    MJ_EQ_ALARM t1
LEFT JOIN MA_EQ t2 ON T1.EQ_ID = T2.EQ_NO
LEFT JOIN MA_AREA t3 ON T1.FACTORY_ID = t3. ID
LEFT JOIN MA_AREA t4 ON T1.bussiness_id = t4.id
WHERE
    T1.DEL_STATUS = 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值