Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择Count Distinct值以获取唯一数据_Sql_Oracle_Sqlplus - Fatal编程技术网

Sql 选择Count Distinct值以获取唯一数据

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执行

我对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执行联接

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个声誉点,每个人都知道这个问题已经解决了。你的查询中没有加入。这可能是你没有得到预期结果的原因。