繁体   English   中英

以毫秒访问的 SELECT 查询

[英]SELECT Query in ms access

我有一个 ms 访问表,如下所示:

 
 
 
UserName | PC_Type
Rob | Desktop
Frank | Laptop
Rob | Laptop
Lindesy | ThinCient
Mark | Desktop
Paul | Desktop
Paul | ThinClient

如何创建仅返回既没有 ThinClient 也没有笔记本电脑的用户的 SELECT 查询?
我试过:

SELECT DISTINCT UserName, PC_Type 
From Table 
GROUP BY UserName, PC_Type
HAVING PC_Type <> "ThinClient" AND PC_Type <> "Laptop"  
[or where PC_Type Not In ("ThinClient", "Laptop")]

但这不会过滤用户,排除已经拥有笔记本电脑(或瘦客户端)的用户,因为它返回例如已经拥有笔记本电脑的“ROB |桌面”(或已经拥有瘦客户端的“保罗|桌面”)。 我尝试查询以查找重复项、差异查询、交叉查询,但我开始感到困惑。 我试图创建子查询或分区查询,但我不知道我做的是否正确。

任何人都可以帮我解决这个问题吗? 我希望查询只返回 Mark。

您可以使用聚合和HAVING

SELECT UserName
From Table 
GROUP BY UserName
HAVING SUM(IIF(PC_Type IN ("ThinClient", "Laptop"), 1, 0) = 0 ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM