Sql 选择Count Distinct值以获取唯一数据
我对sql非常陌生,甚至对这个简单的问题也没有想法 表1 bos_报表用户包含用户id、部门、分支机构代码表2 bos_报表访问包含用户id、报表id 我想加入这个表,所以结果应该是这样的 部门|用户| id |报告| id | 这就是我所做的,结果并不是我所期望的 选择A.用户ID,B.报告ID 从选择不同于BOS_M_用户的部门,其中DEPT='FINANCE',BOS_报告访问B,BOS_M_用户A 其中A.USER_ID='SLTAM'Sql 选择Count Distinct值以获取唯一数据,sql,oracle,sqlplus,Sql,Oracle,Sqlplus,我对sql非常陌生,甚至对这个简单的问题也没有想法 表1 bos_报表用户包含用户id、部门、分支机构代码表2 bos_报表访问包含用户id、报表id 我想加入这个表,所以结果应该是这样的 部门|用户| id |报告| id | 这就是我所做的,结果并不是我所期望的 选择A.用户ID,B.报告ID 从选择不同于BOS_M_用户的部门,其中DEPT='FINANCE',BOS_报告访问B,BOS_M_用户A 其中A.USER_ID='SLTAM' 请大家帮助我。感谢您的帮助。通过共享列用户id执行
请大家帮助我。感谢您的帮助。通过共享列用户id执行联接
SELECT
u.user_id, u.dept, u.branch_code
, a.report_id
FROM bos_report_users u
INNER JOIN bos_report_access a ON u.user_id = a.user_id
WHERE u.user_id = 'SLTAM'
ORDER BY u.dept, u.user_id
别名u=用户
别名a=访问权限
我知道了。但我需要根据部门对它们进行分类。例如,dept FINANCE,将有6个用户使用相同的报表id。因此我需要知道FINANCE department下的所有报表id。这就是我现在的问题。我仍然在考虑使用上面的解决方案。tq所以必须添加/或使用两个表中的更多列。我在select子句中添加了一个ORDERBY子句和一些额外的列,使其看起来像attq。满满的。这是我最后的答案。感谢您的想法。从bos\u m\u用户中选择DISTINCT DEPT、u.user\u id、a.report\u id内部加入bos\u report\u访问a ON u.user\u id=a.user\u id,其中DEPT=‘信用风险管理’按部门排序您可能不需要在该查询中使用DISTINCT。请不要养成用select distinct开始所有查询的习惯。如果我的回答对您有所帮助,您可以通过以下方式接受:更多信息,请参阅。当你接受一个答案时,你会得到2个声誉点,每个人都知道这个问题已经解决了。你的查询中没有加入。这可能是你没有得到预期结果的原因。