我有一个包含以下数据的表。
Emp_Id Name dept cat
1 abc P
1 HC G
2 def P
2 ET G
3 ghi P
3 BC G
3 MN G
4 jkl P
4 LS G
4 LS G
我想更新此表以获得输出记录,如。
Emp_Id Name dept cat
1 abc HC P
2 def ET P
3 ghi BC P
4 jkl LS p
如果Emp_Id与两个不同的部门相关联,那么它应该更新任何一个部门(Emp_Id = 3)。如果一个Emp_Id与两个相同的部门相关联,那么它应该来一次(Emp_Id = 4)。 我正在使用以下查询
UPDATE Table1
SET a.dept = b.dept
from Table1 a, Table1 b
WHERE
a.Emp_Id=b.Emp_Id
and a.cat='P'
但它没有为Emp_Id 3和4更新任何内容 有人可以帮忙吗?
谢谢, DHIRAJ
答案 0 :(得分:0)
多步Psudeo代码,因为我不太了解sybase语法:
Get the results you're after in a select.
SELECT EMP_ID, max(name), max(Dept), max(cat)
FROM tableName
GROUP BY EMPI_ID
将这些结果插入临时表
删除你的表并从临时表中重新创建它。