Sql 列操作

Sql 列操作,sql,excel,Sql,Excel,我有一个查询,它从唯一ID列表中生成8列数据。然后将这些列复制到excel表格中以供保存。我试图找到一种方法来编写查询或查找excel函数,使其生成2列:1列包含唯一ID列表,另一列包含它在最初8列中出现的次数。任何想法或意见都将受到欢迎 谢谢您的帮助。如果我正确理解了您的问题,您可以编写一个返回两列的查询。不幸的是,这有点乏味,但它应该可以工作。这是通用的,足以在任何RMDB中工作。可能有更优雅的解决方案使用特定RMDB的特定功能 SELECT DISTINCT A.UniqueID, SUM

我有一个查询,它从唯一ID列表中生成8列数据。然后将这些列复制到excel表格中以供保存。我试图找到一种方法来编写查询或查找excel函数,使其生成2列:1列包含唯一ID列表,另一列包含它在最初8列中出现的次数。任何想法或意见都将受到欢迎


谢谢您的帮助。

如果我正确理解了您的问题,您可以编写一个返回两列的查询。不幸的是,这有点乏味,但它应该可以工作。这是通用的,足以在任何RMDB中工作。可能有更优雅的解决方案使用特定RMDB的特定功能

SELECT DISTINCT A.UniqueID, SUM(A.IDCounter) AS IDCount FROM
(
SELECT UniqueIDCol1 AS UniqueID, Count(UniqueIDCol1) AS IDCounter
FROM MyTable
GROUP BY UniqueIDCol1

UNION ALL

SELECT UniqueIDCol2 AS UniqueID, Count(UniqueIDCol2) AS IDCounter
FROM MyTable
GROUP BY UniqueIDCol2

UNION ALL 
.
.
.
SELECT UniqueIDCol8 AS UniqueID, Count(UniqueIDCol8) AS IDCounter
FROM MyTable
GROUP BY UniqueIDCol8

) AS A

GROUP BY A.UniqueID

您需要发布原始查询、当前结果集和所需结果集,以及您正在使用的RDBMS。RDBMS的版本也很重要。我将实现这一点,并看看它是如何运行的。有关更多详细信息,此操作的所有数据都编译到一个临时表中,该临时表显示结果(#temp6),并将显示以下列:unique ID、bm1、bm2、bm3、bm4、bm5、bm6、bm7、bm8我们正在运行SQL Server R2 2008。