如何从表格的一列中的每一行中仅选择一个单元格?

时间:2019-02-01 02:02:01

标签: sql sql-server

这就是我正在尝试做的。目标是生成一个临时表,其中的列编号为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

enter image description here

这将创建一个有序表,其中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。

enter image description here

我见过一个产生一个表的选择语句,实际上每列都有嵌套的选择语句。我认为这是我需要做的。该图显示了这样一条选择语句,其中临时表的每一列均由其自己的选择语句组成。这就是我要做的。我想我现在唯一想念的就是如何使这些嵌套的select语句仅查询我在RuleName列下创建的第一个表的一行。该图片只是该嵌套选择模式的一个示例,现在代表了我的查询外观

enter image description here

0 个答案:

没有答案