[英]Need to Create a Query in Access 2010 that is a front end for SQL Server 2008 backend
Access 2010 Query Builder Access 2010查询生成器
I need a query or expression in a query criteria to show only OrderID
's where all SampleID
's in that order have a ResultStatus
of 3 我需要查询条件中的查询或表达式以仅显示
OrderID
,其中该订单中的所有 SampleID
的ResultStatus
为3
OrderID SampleNumber ResultStatus Test
-------------------------------------------------
171178 171178-01 3 PH
171178 171178-01 3 Salt
171178 171178-01 0 HM
171300 171300-02 3 Salt
171308 171308-01 3 PH
171308 171308-01 3 HM
I have searched the web for days but can't seem to state it in a way that gets results. 我已经在网上搜索了好几天,但似乎无法以获取结果的方式进行陈述。 Any help would be greatly appreciated.
任何帮助将不胜感激。 Thank you
谢谢
This is want I finally came up with that works: 这是我最终想出的方法:
SELECT DISTINCT Customers.CustomerName
, SampleDetails.OrderID
, SampleDetails.SampleNumber
, Orders.DefaultReceiveDate
, SampleDetails.Matrix
, SampleDetails.Test
, SampleDetails.Method
, SampleDetails.CustomerTestPrice
, Results.ResultStatus
FROM Results
INNER JOIN (((SampleDetails
LEFT JOIN Invoices
ON SampleDetails.OrderID = Invoices.OrderID)
INNER JOIN Orders
ON SampleDetails.OrderID = Orders.OrderID)
INNER JOIN Customers
ON Orders.CustomerID = Customers.CustomerID)
ON Results.OrderID = SampleDetails.OrderID
GROUP BY Customers.CustomerName
, SampleDetails.OrderID
, SampleDetails.SampleNumber
, Orders.DefaultReceiveDate
, SampleDetails.Matrix
, SampleDetails.Test
, SampleDetails.Method
, Results.ResultStatus
, SampleDetails.CustomerTestPrice
, Invoices.InvoiceID
, Results.ApprovedDate
, Orders.CustomerID
, SampleDetails.Cancelled
HAVING ( ( ( Orders.DefaultReceiveDate ) > [Enter the start date:] )
AND ( ( Invoices.InvoiceID ) IS NULL )
AND ( ( Results.ApprovedDate ) IS NOT NULL )
AND ( ( Orders.CustomerID ) IS NOT NULL
AND ( Orders.CustomerID ) NOT LIKE "AFL*" )
AND ( ( SampleDetails.Cancelled ) = False )
AND ( SUM(IIF([ResultStatus] = 3, 0, 1)) ) = 0 )
ORDER BY Customers.CustomerName;
Assuming that ResultStatus cannot be null and that the table is called Orders, you could say: 假设ResultStatus不能为null,并且该表称为Orders,则可以这样说:
SELECT Orders.OrderID, Orders.SampleNumber, Orders.ResultStatus, Orders.Test
FROM Orders
WHERE Orders.OrderID Not In (SELECT OrderId FROM Orders WHERE ResultStatus <> 3)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.