sql - 为什么我的 SQL Left Join 不起作用?
问题描述
我正在尝试执行基本的左连接。表的结构是:
AGR_USERS : 用户 (UNAME) - > AGR_NAME (Role) 关系 - 一对多
AGR_AGRS : 角色 (AGR_NAME) - > 子角色 (CHILD_AGR) 关系 - 一对多
但是,结果并不准确,因为查询未识别用户 (UNAME) 的角色 (AGR_NAME) 中存在的子角色 (CHILD_AGR)。
你能帮我解决同样的问题吗?下面是我正在使用的查询。
SELECT
agr_users.UNAME,
agr_users.AGR_NAME,
AGR_AGRS.CHILD_AGR,
FROM AGR_USERS LEFT JOIN AGR_AGRS
ON AGR_AGRS.AGR_NAME=agr_users.AGR_NAME
**** MS-SQL 服务器
下面是表格数据
表1:AGR_AGRS(角色-子角色表)
AGR_NAME CHILD_AGR
abc x
abc y
表 2:AGR_USERS(用户 - 角色表)
UNAME AGR_NAME
nik abc
预期结果:(用户-角色-子角色)
UNAME AGR_NAME CHILD_AGR
nik abc x
nik abc y
解决方案
这是一个非常简单的查询。下面应该为您提供完整列表:
select u.UNAME
,a.AGR_NAME
,a.CHILD_AGR
from AGR_USERS as u
left join AGR_AGRS as a
on u.AGR_NAME = a.AGR_NAME
如果不是,您的环境必须与您在问题中表示它的方式不同。
推荐阅读
- reactjs - 每当我单击侧边栏中的任何链接(即关于、工作、联系人等)时,特定组件应在 Content 组件内打开
- java - 运行 main.invoke(null) 会抛出错误数量的 args
- google-apps-script - 根据条件将按钮单击时的单元格值更改为列值
- node.js - 如何在电子中安装 sqlite3?
- go - 通用方法和建议如何消除依赖
- logging - 无法在 Flask 的子模块中使用 Python 日志记录
- python - 为什么我无法在烧瓶中使用 request.form 获取文本值来对文本进行情感分析?
- apache - htaccess - 在子文件夹中设置根目录?
- javascript - 使用 [MEAN] 向 API 发出 POST 请求时阻止跨域请求
- python - 为什么我没有得到某些值的输出