我有两张桌子。一个有商店列表及其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语句下给我这个错误,它是否能解决我的问题。或者是否有另一种方法来修复此错误,而不影响我需要从此查询中获得的结果。
答案 0 :(得分:10)
删除GROUP BY
和HAVING
子句。你没有在这里汇总。你想加入你的桌子。
SELECT tblEmployees.Name, Surname, tblShops.shop_id
FROM tblEmployees JOIN tblShops
ON tblEmployees.shop_id=tblShops.shop_id