我需要帮助在Oracle中编写查询以获取以下数据.数据按人员和日期字段排序.
Person Day Flag
------ --- ----
person1 day1 Y
person1 day2 Y
person1 day3 Y
person1 day4 N
person1 day5 N
person1 day6 Y
person1 day7 Y
person1 day8 Y
Run Code Online (Sandbox Code Playgroud)
我需要有一个Group_Number列,只要Flag值发生变化就会增加.我的结果应如下所示
Person Day Flag Group_Number
------ --- ---- ------------
person1 day1 Y 1
person1 day2 Y 1
person1 day3 Y 1
person1 day4 N 2
person1 day5 N 2
person1 day6 Y 3
person1 day7 Y 3
person1 day8 Y 3
Run Code Online (Sandbox Code Playgroud)
我认为有办法使用分析函数,如ROW_NUMBER,LEAD等获得上述结果.
我为 Visual Studio 2015 安装了最新的 SSDT 来创建/修改连接到 Oracle 11 数据库的 SSRS 报告。先前版本的 SSDT(适用于 Visual Studio 2012)将“Oracle”作为数据源属性中“类型”下拉列表中的值之一,如果机器上安装了 Oracle 客户端软件,则它可以正常工作。但是,Visual Studio 2015 的 SSDT 中的列表值已更改。不再有“Oracle”选项,而是“Oracle 数据库”。但是,如果选择了“Oracle 数据库”,我会收到错误消息“无法连接到数据源‘DataSource1’。所选的数据扩展 ORACLE 未安装或无法加载...”。知道如何解决这个问题吗?
PS:我通过指定“Oracle Provider for OLEDB”来尝试 OLEDB 选项,该选项将连接字符串稍微更改为“Provider=OraOLEDB.Oracle.1;Data Source=DBName”。连接有效,但许多查询停止工作,并显示消息“ORA-00900:无效的 SQL 语句”。
oracle reporting-services sql-server-data-tools visual-studio-2015