我有一张表,其中包含员工。由于我工作的公司相当大(> 3k 员工),其中一些人具有相同的名字是很自然的。现在可以通过用户名来区分他们,但由于网页需要包含所有这些用户的下拉菜单,因此我需要在他们的姓名中添加一些额外的数据。
我知道我可以首先获取所有用户,然后通过 foreach 运行它们并向每个用户对象添加计数。但这将是非常无效的。因此我需要一个好的 SQL 查询,它可以完成类似这样的事情。子查询是我需要的吗?
我的桌子看起来像这样:
name ----- surname ----- username
John Mayer jmaye
Suzan Harvey sharv
John Mayer jmay3
现在我认为如果查询返回相同的 3 个字段,并且如果有多个人具有相同的姓名和姓氏组合,并且还返回一个布尔值,那就太好了。
将标志添加到丹尼尔的答案中......
SELECT NAME, SURNAME, USERNAME, DECODE(COUNT(*) OVER (PARTITION BY NAME, SURNAME), 1, 'N', 'Y')
FROM
YOUR_TABLE;
请注意,Oracle SQL 不支持布尔值(唉……)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)