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

如何根据MySQL另一表的distinct值关联查询UserInformation表对应行

实现方案

你可以用两种常见的写法实现需求:

方案1:IN子查询写法

逻辑直观,直接把你已有的查询作为子查询匹配用户表即可:

SELECT ui.* 
FROM UserInformation ui
WHERE ui.user_name IN (
    SELECT DISTINCT log.created_by_user_name 
    FROM ReferenceScreenResultLog log 
    WHERE log.level = "1"
)

方案2:INNER JOIN写法

如果两个表数据量较大,或者后续需要同时取referencelog表的字段,推荐用JOIN写法,部分场景下数据库优化器执行效率更高:

SELECT DISTINCT ui.*
FROM UserInformation ui
INNER JOIN ReferenceScreenResultLog log 
ON ui.user_name = log.created_by_user_name
WHERE log.level = "1"

注意这里加DISTINCT是为了避免同一个用户在referencelog表有多条level=1的记录时,返回重复的用户行,如果确定不会有重复或者允许重复可以去掉。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:12:04