SQL查询:HAVING,GROUP BY

时间:2011-09-21 18:03:19

标签: sql

我有两张桌子。一个有商店列表及其ID(shop_id) 还有一个员工名单,其中包含他们所在商店的ID(shop_id)。

我必须打印出某个店铺的某个职位的每个员工。 我的查询通常是正确的,但我似乎得到像tblEmployees这样的错误。

通常我的查询看起来像。

SELECT tblEmployees.Name, tblEmployees.Surname, tblShops.shop_id
FROM tblEmployees, tblShops
GROUP BY tblEmployees.shop_id
HAVING tblEmployees.shop_id = tblShops.shop_id;

通常我会收到类似以下内容的错误:

  

tblEmployees.Name不是聚合函数的一部分。

我想知道的是,如果我把每个列都放在GROUP BY语句下给我这个错误,它是否能解决我的问题。或者是否有另一种方法来修复此错误,而不影响我需要从此查询中获得的结果。

1 个答案:

答案 0 :(得分:10)

删除GROUP BYHAVING子句。你没有在这里汇总。你想加入你的桌子。

SELECT tblEmployees.Name, Surname, tblShops.shop_id
FROM tblEmployees JOIN tblShops
ON tblEmployees.shop_id=tblShops.shop_id