gpt4 book ai didi

sql - 如何识别具有重复条目的列(使用 SQL)?

转载 作者:行者123 更新时间:2023-12-04 18:14:41 25 4
gpt4 key购买 nike

我们正在构建一个数据库,该数据库将用于检查公司各个系统上员工当前使用的用户名的任何重复项。以前,一些员工共享相同的用户名访问某些系统。由于方向是为每个系统上的每个员工都有一个唯一的用户名,因此我们需要确定哪些员工仍在使用共享访问权限。该数据库有一张表,其中包含员工的姓名及其各自的用户名。

例如:表1

Employee    System1 System2  System3
John Doe dJohn Pkls453 xfd801
Jane Doe dJane Pkls454 xfd801
James Lee dJames Pkls455 fd674
Mark Jones dMark Pkls453 xfd752

我们需要生成一个报告,表明 John Doe 和 Jane Doe 在 System3 上共享相同的访问权限,而 John Doe 和 Mark Jones 在 System2 上共享访问权限。就像是:
Employee  System3  System2
John Doe xfd801
Jane Doe xfd801
John Doe Pkls453
Mark Jones Pkls453

有没有办法解决这个问题?

提前致谢...

最佳答案

我确信有一个更清洁的解决方案,但这应该以您指定的格式返回您正在寻找的内容。

SELECT Employee, System1, NULL AS System2, NULL AS System3
FROM your_table T1
WHERE EXISTS(SELECT * FROM your_table T2
WHERE T1.System1 = T2.System1
AND T1.Employee <> T2.Employee)
UNION
SELECT Employee, NULL AS System1, System2, NULL AS System3
FROM your_table T1
WHERE EXISTS(SELECT * FROM your_table T2
WHERE T1.System2 = T2.System2
AND T1.Employee <> T2.Employee)
UNION
SELECT Employee, NULL AS System1, NULL AS System2, System3
FROM your_table T1
WHERE EXISTS(SELECT * FROM your_table T2
WHERE T1.System3 = T2.System3
AND T1.Employee <> T2.Employee)
ORDER BY System1, System2, System3

关于sql - 如何识别具有重复条目的列(使用 SQL)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11961407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com