这就是我正在尝试做的。目标是生成一个临时表,其中的列编号为1到10。 以下sql语句生成所需内容的部分数据:
select Count(*) as _Count,RuleName
from CompDiffTable
group by RuleName
order by _Count desc
select Count(*) as _Count, RuleName
INTO #DATA_DrillReport
from CompDiffTable
group by RuleName
order by _Count desc
SELECT *
FROM #DATA_DrillReport
order by _Count desc
DROP TABLE #DATA_DrillReport
这将创建一个有序表,其中RuleNames列以我想要的方式进行了排序。
现在,让我们假设这些规则名称之一是GIZANTHAPUS(不是,但可以说是)。
因此,当我测试要获取与GIZANTHAPUS关联的FileID时,我尝试了这个畸形的SQL查询:
SELECT FileId FROM CompDiffTable where RuleName = "GIZANTHAPUS"
语法错误,但是您明白了。
它应该已经返回FileId的列表,其中RuleName是GIZANTHAPUS
此测试是尝试朝着创建查询的尝试,在该查询中,“ GIZANTHAPUS”被替换为代表第一个查询的RuleName的变量。
在最终的临时表中,我真正想要的是与RuleNames关联的所有FileId。这就是最终临时表的内容。
我希望最终的临时表包含数据,其中所查询的RuleName以其在查询中显示为行的列顺序排列:
SELECT * FROM #DATA_DrillReport order by _Count desc
并且这些行将包含与该RuleName相关联的FileID。
我见过一个产生一个表的选择语句,实际上每列都有嵌套的选择语句。我认为这是我需要做的。该图显示了这样一条选择语句,其中临时表的每一列均由其自己的选择语句组成。这就是我要做的。我想我现在唯一想念的就是如何使这些嵌套的select语句仅查询我在RuleName列下创建的第一个表的一行。该图片只是该嵌套选择模式的一个示例,现在代表了我的查询外观