我正在使用 DB2,当它返回多个列时,它显然不允许您使用 GROUP BY 子句。我的记录具有重复的 ID 和名称值,例如:
EmpID | - name - | code
___________________________________
111111 | Williams | 1
---------------------------------
111111 | Williams | 2
----------------------------------
111112 | Davis | 3
---------------------------------
111113 | Gomez | 1
----------------------------------
111113 | Gomez | 3
----------------------------------
(请原谅我的格式)我需要为每个员工获取一个带有代码的实例(只要每个员工出现一个代码实例就可以忽略哪个代码实例)。
通常我可以这样做:
SELECT * FROM employees GROUP BY EmpID;
出于某种原因,DB2 不允许您这样做。它说“分组不一致”。你可以做:
SELECT EmpID from employees GROUP BY EmpID;
但是如果你引入更多的返回值,那么它会给你错误。
我尝试研究使用子查询和派生表,但我不确定如何组合它以仅选择一个代码值并排除具有重复员工值的记录。如果有人有答案或可以将我指向另一个解决此问题的线程,我将非常感激。