MS-ACCESS / SQL-如何在多种情况下应用where子句

RC88
SELECT Stock.*
FROM Stock
WHERE (
(
(Stock.ComputerPartNumber) In (SELECT [ComputerPartNumber] FROM [Stock] As Tmp GROUP BY [ComputerPartNumber] HAVING Count(*)=2)
) 
AND 
(
(Stock.EquipmentName)="EquipmentA" Or (Stock.EquipmentName)="EquipmentB")
) 
OR (
(
(Stock.ComputerPartNumber) In (SELECT [ComputerPartNumber] FROM [Stock] As Tmp GROUP BY [ComputerPartNumber] HAVING Count(*)=1)
) 
AND (
(Stock.EquipmentName)="EquipmentA" Or (Stock.EquipmentName)="EquipmentB"
)
);

我正在使用上面的SQL实现以下3个项目:-

  1. 找出仅由设备A和/或设备B使用的所有ComputerPartNumber
  2. 如果除EquipmentA和EquipmentB以外的设备使用ComputerPartNumber,则筛选出查询结果。
  3. 如果EquipmentA和EquipmentC都使用ComputerPartNumber,则还要过滤出结果。

但是,项目3无法成功滤出。我应该怎么做才能达到item3?表和查询快照已附加。提前致谢!

询问

苹果核

您需要做的是检查零件在所有设备中的使用总次数是否等于设备A或B使用零件的总次数:

SELECT S.StorageID, S.ComputerPartNumber, S.EquipmentName, S.Result
FROM Stock AS S
WHERE 
(SELECT COUNT(*) FROM Stock AS S1 WHERE S1.ComputerPartNumber=S.ComputerPartNumber)
=(SELECT COUNT(*) FROM Stock AS S2 WHERE S2.ComputerPartNumber=S.ComputerPartNumber AND S2.EquipmentName IN("EquipmentA","EquipmentB"))

问候,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果然后在MS Access SQL查询的WHERE子句中

来自分类Dev

MS Access SQL错误

来自分类Dev

如何在MS Access SQL中编写我的SQL代码?

来自分类Dev

C# 如何在没有 MS Access 的情况下连接到 Access DB?

来自分类Dev

如何在MS Access SQL中使用IF语句

来自分类Dev

如何在MS Access中的日期字段使用NULL值的情况下使用LIKE

来自分类Dev

如何在不安装MS Access的情况下使用.mdb文件?

来自分类Dev

如何在不安装MS Access ODBC驱动程序的情况下使用它?

来自分类Dev

MS Access SQL顺序更新

来自分类Dev

MS Access SQL插入查询

来自分类Dev

MS ACCESS SQL连接语法

来自分类Dev

MS Access SQL计算从多行

来自分类Dev

导出MS Access 2010 SQL

来自分类Dev

SQL MS Access 2013年

来自分类Dev

如何从SQL MS-Access检索“最常用的颜色”

来自分类Dev

如何使用MS Access SQL设置不相等条件?

来自分类Dev

如何更改此SQL查询以在MS Access查询中工作?

来自分类Dev

如何修复MS Access的此SQL SELECT语句

来自分类Dev

如何使用 SQL 删除 MS Access DB 中的重复行

来自分类Dev

如何通过编码将数据从MS Access导入Sql Server

来自分类Dev

如何解决 MS Access SQL UPDATE 语法错误

来自分类Dev

如何在不使用MS SQL中的SubQuery的情况下比较Max(Count(*))值?

来自分类Dev

MS Access VBA:如何在没有警告消息的情况下从表中删除一行

来自分类Dev

MS Access中的动态WHERE子句

来自分类Dev

将SQl查询转换为MS Access

来自分类Dev

参数太少错误MS Access SQL

来自分类Dev

参数错误MS Access SQL

来自分类Dev

MS Access SQL查询IP地址范围

来自分类Dev

MS Access登录上的SQL注入