Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Order Access Query by Subquery result

Posted on 2013-05-10
2
Medium Priority
?
697 Views
Last Modified: 2013-05-10
The query below has stumped me for hours and hours. I've tried every possible thing I could find online. If anyone can help I would most grateful!

The query uses a subquery to list how much product a customer has used and it works fine. However I would like to order the query by the usage result. No go no matter what I try.


SELECT TOfferItem.ID AS OfferID, TOfferItem.FKManfItemID, tblManfItems_m.Manf_Code AS Code, tblManfItems_m.Short_Desc, tblCompany_m.CompanyName AS Manufacturer, tblManfItems_m.Target_Ounce_Size AS Target_Size_Oz, qryManfItemFileCount.File_Count, tblGeneralItems.LongDesc AS Item_Group, tblManfItems_m.Quality AS Quality, tblItemPacks.PackDesc AS Pack, [Quantity]*[weight] AS Avail_Weight, TOfferItem.Price AS Cost, tblCity.City, tblStates.StateAbbr, TOfferItem.Note AS Offer_Note, (SELECT Sum(PODtl.TotalLbl) AS Total_Usage
FROM tblManfItems INNER JOIN (tblOrderStatus INNER JOIN (PoHDR INNER JOIN PODtl ON PoHDR.TranID = PODtl.TranID) ON tblOrderStatus.OrderID = PoHDR.TranID) ON tblManfItems.ID = PODtl.FKManfItemID
GROUP BY tblManfItems.ID, PoHDR.Customer, tblOrderStatus.Submitted, tblOrderStatus.Canceled
HAVING (((tblManfItems.ID)= tblManfItems_m.ID) AND ((PoHDR.Customer)=1319) AND ((tblOrderStatus.Submitted)=True) AND ((tblOrderStatus.Canceled)=False))) AS Total_Usage
FROM qryManfItemFileCount RIGHT JOIN (tblCompany AS tblCompany_m RIGHT JOIN (tblStates RIGHT JOIN (tblCity RIGHT JOIN (tblGeneralItems RIGHT JOIN (tblItemPacks RIGHT JOIN (tblOfferItemInventory AS TOfferItem INNER JOIN tblManfItems AS tblManfItems_m ON TOfferItem.FKManfItemID = tblManfItems_m.ID) ON tblItemPacks.ID = tblManfItems_m.Pack) ON tblGeneralItems.ItemID = tblManfItems_m.Commodity_ID) ON tblCity.CityID = TOfferItem.FKCityID) ON tblStates.StateID = tblCity.State) ON tblCompany_m.PKCompanyID = tblManfItems_m.FK_Company_ID) ON qryManfItemFileCount.ManfID = TOfferItem.FKManfItemID
WHERE ((([Quantity]*[weight])>0));

Open in new window

0
Comment
Question by:StevieGuy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 41

Accepted Solution

by:
Sharath earned 2000 total points
ID: 39157636
try this
SELECT * 
  FROM (SELECT TOfferItem.ID                                            AS OfferID, 
               TOfferItem.FKManfItemID, 
               tblManfItems_m.Manf_Code                                 AS Code, 
               tblManfItems_m.Short_Desc, 
               tblCompany_m.CompanyName                                 AS Manufacturer, 
               tblManfItems_m.Target_Ounce_Size                         AS Target_Size_Oz, 
               qryManfItemFileCount.File_Count, 
               tblGeneralItems.LongDesc                                 AS Item_Group, 
               tblManfItems_m.Quality                                   AS Quality, 
               tblItemPacks.PackDesc                                    AS Pack, 
               [Quantity] * [weight]                                    AS Avail_Weight, 
               TOfferItem.Price                                         AS Cost, 
               tblCity.City, 
               tblStates.StateAbbr, 
               TOfferItem.Note                                          AS Offer_Note, 
               (SELECT SUM(PODtl.TotalLbl) AS Total_Usage 
                  FROM tblManfItems 
                       INNER JOIN (tblOrderStatus 
                                   INNER JOIN (PoHDR 
                                               INNER JOIN PODtl 
                                                       ON PoHDR.TranID = PODtl.TranID) 
                                           ON tblOrderStatus.OrderID = PoHDR.TranID) 
                               ON tblManfItems.ID = PODtl.FKManfItemID 
                 GROUP BY tblManfItems.ID, 
                          PoHDR.Customer, 
                          tblOrderStatus.Submitted, 
                          tblOrderStatus.Canceled 
                HAVING ( ( ( tblManfItems.ID ) = tblManfItems_m.ID ) 
                         AND ( ( PoHDR.Customer ) = 1319 ) 
                         AND ( ( tblOrderStatus.Submitted ) = True ) 
                         AND ( ( tblOrderStatus.Canceled ) = False ) )) AS Total_Usage 
          FROM qryManfItemFileCount 
               RIGHT JOIN (tblCompany AS tblCompany_m 
                           RIGHT JOIN (tblStates 
                                       RIGHT JOIN (tblCity 
                                                   RIGHT JOIN (tblGeneralItems 
                                                               RIGHT JOIN (tblItemPacks 
                                                                           RIGHT JOIN (tblOfferItemInventory AS TOfferItem
                                                                                       INNER JOIN tblManfItems AS tblManfItems_m
                                                                                               ON TOfferItem.FKManfItemID = tblManfItems_m.ID)
                                                                                   ON tblItemPacks.ID = tblManfItems_m.Pack)
                                                                       ON tblGeneralItems.ItemID = tblManfItems_m.Commodity_ID)
                                                           ON tblCity.CityID = TOfferItem.FKCityID)
                                               ON tblStates.StateID = tblCity.State) 
                                   ON tblCompany_m.PKCompanyID = tblManfItems_m.FK_Company_ID)
                       ON qryManfItemFileCount.ManfID = TOfferItem.FKManfItemID 
         WHERE (( ( [Quantity] * [weight] ) > 0 ))) T1 
 ORDER BY Total_Usage; 

Open in new window

0
 

Author Closing Comment

by:StevieGuy
ID: 39157648
You are amazing. What was I doing wrong?
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
If you need to forecast numbers -- typically for finance -- the Windows and Mac versions of Excel 2016 have a basket of tools to get the job done.
The view will learn how to download and install SIMTOOLS and FORMLIST into Excel, how to use SIMTOOLS to generate a Monte Carlo simulation of 30 sales calls, and how to calculate the conditional probability based on the results of the Monte Carlo …
The viewer will learn how to  create a slide that will launch other presentations in Microsoft PowerPoint. In the finished slide, each item launches a new PowerPoint presentation and when each is finished it automatically comes back to this slide: …

597 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question