Solved

Order Access Query by Subquery result

Posted on 2013-05-10
2
655 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
PaperPort has a feature called the "Send To Bar". It provides a convenient, drag-and-drop interface for using other installed software, such as Microsoft Office. However, this article shows that the latest Office 2016 apps (installed with an Office …
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
Learn how to create and modify your own paragraph styles in Microsoft Word. This can be helpful when wanting to make consistently referenced styles throughout a document or template.

932 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

10 Experts available now in Live!

Get 1:1 Help Now