【发布时间】:2016-05-23 09:07:16
【问题描述】:
我的 SQL 查询有问题。我需要使用 where 子句获取所有唯一 [Cod Angajat] 字段的列表,其中 [Timp declarat] 列中所有条目的总和小于 8。贝娄是我到目前为止所得到的。
在表格中我有 3 行。它返回相同的行,而不是 1 行,所有条件都适用 - 意思是 [Cod Angajat] = 2 的行。
| Cod Angajat | Nume | Timp declarat |
---------------------
| 1 | Ene | 3 |
| 1 | Ene | 5 |
| 2 | Gigi | 4 |
select COUNT(DISTINCT [Cod Angajat]), [Cod Angajat], [Nume], [Timp declarat]
FROM [SC Vermorel SRL$ProductieVE]
WHERE (sum([Timp declarat] < 8 AND cast(CONVERT(varchar(8), Data, 112) As DateTime) = @data2) and ([Schimb] = '" & ProceseazaSCH(Now()) & "'
GROUP BY [Nume], [Cod Angajat], [Timp declarat]
HAVING sum([Timp declarat]) < 8
【问题讨论】:
-
显示表格数据、当前结果和预期结果。
-
您按 [Timp declarat] 进行分组,然后 sum 聚合适用于所有字段值都相等的行。您只能按 [Cod Angajat] 和 [Nume] 分组。