我在SQL Server 2008中有一个视图,我要将其用于SSRS 2008中的报告。
主要问题是,我必须在一个表中使用两个不同的数据集,并且不能按我想要的方式进行分组。这两个数据集都来自此视图。比方说,在我的报告表的一列中,我想对我国家所有校舍的所有计算机求和。在另一列中,学校每台计算机的学生人数的比率。
现在,在DB中有两个不同的表,一个用于建筑物,另一个用于学校(因为有时一所学校或其他类似场景会有不同的建筑物)。加入它们会产生比计算机求和列所需的更多的情侣建筑-学校,它将导致对同一建筑的不同乘以求和(如果在该建筑中有多个学校运行)。
表如下所示:
为了避免这种情况,我已经完成了这两个数据集,一个从建筑的角度来看,另一个从学校的角度来看。但这是一个表中的两个数据集!为了解决我的问题,我考虑在我的视图中添加一个特殊的列:它自动检查一个BUILDING_ID
是否在结果表f.e.中显示两次或更多。如下所示:
问题是我不知道这是否可能,如果是的话,我不知道怎么做。
发布于 2012-03-26 11:10:25
也许这可以给你一个提示:
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
https://stackoverflow.com/questions/9870868
复制相似问题