Solved

Order Access Query by Subquery result

Posted on 2013-05-10
2
644 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
2 Comments
 
LVL 40

Accepted Solution

by:
Sharath earned 500 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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

In case Office 2010 has not been deployed in your environment, this article may be quite useful. In our office, we wanted a way to deploy Microsoft Office Professional Plus 2010 through an automated batch file via logon script. This article is docum…
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

746 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now