【发布时间】:2015-04-14 11:57:05
【问题描述】:
我在使用 UNION 和 group by 方面需要帮助。
我写了下面的代码你给你我的代码的概述。我基本上是在尝试使用 UNION 运行此代码超过 x 个月。
每次我运行以下代码时,SQL SERVER 都会抱怨“类别”不在一个组中。
我尝试将其添加到代码的末尾:
按名称分组 按名称订购
当我尝试一次获取所有月份的数据时,它仍然不起作用。
如何使用 UNION 子句使我的查询运行?
SELECT
'2000' AS Year,
Name AS Category,
COUNT(id) AS X
FROM
(
(
Select id, Name
From dbo.tablea
where something
GROUP BY id,name
HAVING SUM(X)>0
) sub
Union
SELECT
'1999' AS Year,
Name AS Category,
COUNT(id) AS X
FROM
(
(
Select id, Name
From dbo.tablea
where something
GROUP BY id,name
HAVING SUM(X)>0
) sub
【问题讨论】:
-
您的
group by没有列名。修复代码为group by name。 -
我知道这一点。我只是为了节省时间才写在这里。
-
写下您的完整查询,以便我们找到解决方案
-
@dataaddicted “我只是为了节省时间才把它写在这里”试图以牺牲读者的时间为代价来节省你的时间是没有办法得到有效答案的。
-
并以可读的形式格式化您的查询...
标签: sql sql-server