为什么这个GROUP BY查询不起作用?

时间:2013-11-04 15:52:32

标签: sql ms-access

我正在使用此查询查询我的Access表:

SELECT (VIN&' '&Make&' '&Model&' '&CarYear&' '&ExColor&' '&InColor&' ')as CarDescript
        FROM TestTable
        WHERE (WorkOrderNumber='$workorder')
        GROUP BY AssignedEmp;

但是类似的查询类型在SQL Fiddle

中运行得很好

即使用VIN替换长(VIN&''& ....),它仍然不起作用。

编辑:表的架构是

WorkOrderNumber - 优先级 - JobStage - WorkItem - AssignedEmp - DueDate - VIN - Make - ... - InColor

1 个答案:

答案 0 :(得分:3)

对于SQL,通常使用+而不是&。 (但访问权限允许这样做。)

在一个组中,您需要选择要使用的组中的哪一个(如果您使用的是mysql,例如它只是选择一个随机的,请参阅此fiddle),以便在一般情况下解决此问题为你的例子:

SELECT (max(VIN) + ' ' + max(Make) + ' ' + max(Model) + ' ' + max(CarYear) + ' ' + max(ExColor) + ' ' + max(InColor) + ' ')
       as CarDescript
FROM TestTable
WHERE WorkOrderNumber='$workorder'
GROUP BY AssignedEmp;