我有下表:[Sheet1$]
:
| 集团|分部|姓名|
| - ------|- ------|- ------|
| 五百五十五|第二章|亚当|
| 五百五十五|1个|鲍勃|
| 四四四|1个|莎拉|
| 五百五十五|第二章|安|
| 四四四|1个|杰夫|
我想从[Sheet1$]
(我正在使用Excel和ODBC)中选择所有具有相同Group
和Division
但具有多个Names
的记录。我需要结果列表中的所有3列。
结果应如下所示:
| 集团|分部|姓名|
| - ------|- ------|- ------|
| 五百五十五|第二章|亚当|
| 五百五十五|第二章|安|
| 四四四|1个|莎拉|
| 四四四|1个|杰夫|
下面的查询会导致错误:
SELECT [Group], [Division], [Name], COUNT(*)
FROM [Sheet1$]
GROUP BY [Group], [Division]
HAVING COUNT(*) > 1
上面的查询不起作用,因为根据我的理解,GROUP BY
子句中没有包含一列,但由于我的SQL生疏,对MS/Excel SQL语法一无所知,我似乎无法形成一个有效的查询。我应该如何设置正确的查询格式?
2条答案
按热度按时间7eumitmz1#
如果您需要重复的行与个别所有者,您将不得不做一些就地连接。
这是假设Excel的ODBC驱动程序支持
CONCAT()
方法。如果它不支持CONCAT()
方法,那么如果CONCAT()
不起作用,您 * 可能 * 在两个地方都尝试[Joint Venture] + [Division of Interest]
。oiopk7p52#
如果要将GROUP BY子句应用于SQL语句,则SELECT子句中所有未聚合的列都必须包含在GROUP BY子句中。
因此,在您的示例中,基本上有三个选项。
向[Owner]列添加某种“聚合”
将[Owner]列添加到GROUP BY子句(如果不想应用聚合)
--或--从SELECT子句中删除[Owner]列