Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 是否可以添加一个“;检查前一个“是否”;列到视图?_Sql_Sql Server 2008_Reporting Services_Reportbuilder - Fatal编程技术网

Sql 是否可以添加一个“;检查前一个“是否”;列到视图?

Sql 是否可以添加一个“;检查前一个“是否”;列到视图?,sql,sql-server-2008,reporting-services,reportbuilder,Sql,Sql Server 2008,Reporting Services,Reportbuilder,我在SQL Server 2008中有一个视图,我想在SSRS 2008中用于报表 主要的问题是,我必须在一个表中使用两个不同的数据集,并且不能按照我的意愿进行分组。两个数据集都来自此视图。让我们假设在我的报告表的一列中,我想对我国所有学校建筑的所有计算机进行汇总。在另一列中,学校的学生与每台计算机的比率 现在,在DB中有两个不同的表格,一个用于建筑物,一个用于学校(因为有时一所学校或其他类似场景有不同的建筑物)。加入他们将导致更多的夫妇建造学校,而不是计算机总和栏所需的数量,这将导致对同一栋建

我在SQL Server 2008中有一个视图,我想在SSRS 2008中用于报表

主要的问题是,我必须在一个表中使用两个不同的数据集,并且不能按照我的意愿进行分组。两个数据集都来自此视图。让我们假设在我的报告表的一列中,我想对我国所有学校建筑的所有计算机进行汇总。在另一列中,学校的学生与每台计算机的比率

现在,在DB中有两个不同的表格,一个用于建筑物,一个用于学校(因为有时一所学校或其他类似场景有不同的建筑物)。加入他们将导致更多的夫妇建造学校,而不是计算机总和栏所需的数量,这将导致对同一栋建筑的不同时间进行总和(如果该建筑中有多所学校运营)

表格如下:

为了避免这种情况,我做了两个数据集,一个是从建筑的角度,另一个是从学校的角度。但这是一个表中的两个数据集!为了解决我的问题,我想在我的视图中添加一个特殊列:它会自动检查
建筑ID
是否在结果表中显示两次或更多,例如:


问题是我不知道这是否可行,如果可行,我也不知道怎么做。

也许这可以给你一个提示:

select building_id, 
row_number() over (partition by building_id order by newid()) - 1 check_if_previous
from yourtable
如果你只想要1或0

select building_id, 
cast(row_number() over (partition by building_id order by newid()) - 1 as BIT) check_if_previous
from yourtable

如何定义前一列,我看不到id,也看不到时间戳,这是我不知道的。如何识别前一个建筑id。这太棒了!这正是我需要的。非常感谢你的回答!我在另一个视图(用于另一个报告)中实现了这一点,但如下所示:
ROW\u NUMBER()OVER(按文件夹划分。SERIAL,SCHOOLS.SCHOOL\u名称顺序按NEWID())-1检查\u是否以前的\u SCHOOL
。文件夹是学校的一个位置,因此有一些学校在不同的位置运营,这些学校被视为不同的学校(一所学校-->两个地点=两所学校)。但是每次我执行查看/查询时,如果上一个学校=0,它会给我不同的检查计数。??Harri是的,第一个将是随机的。正如我之前问的:如何定义上一列。因为你没有定义排序顺序。我选择了随机顺序。我意识到这可能是一个问题。但是你没有为我的订单提供一个列顺便说一句,现在我明白你“定义上一列”的意思了。我在ORDER BY子句中使用列“学校名称”。我在测试视图时将该列用作简单查询,因为我无法在视图中使用ORDER BY。如果我尝试此操作,SSMS会给我一个错误。我已在
SELECT
子句的顶部添加了列
学校名称
,并更改了
ORDER BY newid()
按学校名称排序。结果仍在从一个“查看报告”更改为另一个。但现在差异较小(1-3个值)。