使用Microsoft Office单一登录的javascript网络应用程序出现问题。由于某些原因,我尚未发现用户在我的数据库中被复制。在开始对此进行故障排除之前,我想尝试清理数据库。
我想搜索Employee
表中的任何用户,这些用户在任何建议表中都没有任何建议。因此,我没有删除任何建议的用户列表,这些用户具有重复的帐户。最好的方法是什么?
还请注意,rick(ID 6&7)根本没有任何贡献。删除两个帐户都会有问题。
员工
ID name hair
--------------------
1 bob brown
2 jeff blond
3 jeff brown
4 steve none
5 steve none
6 rick red
7 rick red
suggestions_lunch
ID suggestion status
---------------------------------
2 free food planned
3 warmer coffee declined
suggestions_pay
ID suggestion status
----------------------------------------------
5 We pay bob too much investigating
此处,ID 4将被删除。我想我将需要第二个SQL查询,该查询显示拥有多个帐户且在任何地方都没有捐款的所有用户。
SELECT *
FROM employee
WHERE ...
答案 0 :(得分:0)
检查“建议”(Suggestions)列中是否存在空建议值的一种简便方法是检查是否为空
SELECT e.name
,sl.suggestion
FROM Employee e
JOIN suggestion_lunch sl ON sl.ID = e.ID
WHERE suggestion IS NULL;
这是您尝试做的一个好的开始。它将从 employee 表中选择名称,并从 suggestion_lunch 表中选择建议。
在选择了名称和建议后,我们根据建议午餐ID =员工ID进行内部加入
最后,我们使用WHERE检查空值。想象一下,当我们在不使用WHERE子句的情况下运行查询时...我们返回一个包含所有员工姓名和建议的表。为了仅显示具有 NO 建议的用户,我们利用了 IS NULL 子句,因为如果没有提出建议,表值将为NULL。
对于删除重复项,我建议使用GO进行单独查询