Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8828819
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T07:41:38+00:00 2026-06-14T07:41:38+00:00

Using this query, I get the result I need of how many orders each

  • 0

Using this query, I get the result I need of how many orders each customer has placed. However, when I use the SUM(OrderLine.ActualPrice) in the SELECT field and use an inner join to link the Order table to the OrderLine table which contains the price. The COUNT results are skewed, as the OrderLine table contains multiple OrderNo of the same Order, since one order can contain multiple products.

How do I keep the COUNT to the result I have with this query, while putting in the SUM query for the Total Purchase Amount of their orders?

SELECT C.custno, 
       companyname, 
       Count(customerorder.orderno)AS 'Total Orders', 
FROM   customer C 
       INNER JOIN customerorder 
               ON customerorder.custno = C.custno 
GROUP  BY C.custno, 
          companyname 

MODIFIED QUERY WITH INCORRECT RESULT

SELECT C.custno, 
       companyname, 
       Count(customerorder.orderno)AS 'Total Orders', 
       Sum(orderline.actualprice) 
FROM   customer C 
       INNER JOIN customerorder 
               ON customerorder.custno = C.custno 
       INNER JOIN orderline 
               ON customerorder.orderno = orderline.orderno 
GROUP  BY C.custno, 
          companyname 

This is the query I tried to use and received the skewed COUNT results.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T07:41:39+00:00Added an answer on June 14, 2026 at 7:41 am

    You have two basic options.

    Use DISTINCT

    SELECT C.custno, 
           companyname, 
           Count(DISTINCT customerorder.orderno)AS 'Total Orders', 
           Sum(orderline.actualprice) 
    FROM   customer C 
           INNER JOIN customerorder 
                   ON customerorder.custno = C.custno 
           INNER JOIN orderline 
                   ON customerorder.orderno = orderline.orderno 
    GROUP  BY C.custno, 
              companyname 
    

    Note:

    In a comment on another question you say that this scews te result still. This seems to imply that the same orderno can appear in more than one customerorder record. Is that correct?

    Use a sub-query to make the join 1:1 instead of 1:many

    SELECT C.custno, 
           companyname, 
           Count(customerorder.orderno)AS 'Total Orders', 
           Sum(orderline.actualprice) 
    FROM   customer C 
           INNER JOIN customerorder 
                   ON customerorder.custno = C.custno 
           INNER JOIN (SELECT orderno, SUM(actualprice) AS actualprice
                         FROM orderline 
                     GROUP BY orderno)
                   ON customerorder.orderno = orderline.orderno 
    GROUP  BY C.custno, 
              companyname 
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I can't seem to get my query to stop using filesort. This is my
I have a trip that has many residencies. I need a single query that
I am using this query to produce a blog archive menu, like so: SELECT
I am using this query: SELECT DISTINCT pat.PublicationID FROM dbo.PubAdvTransData AS pat INNER JOIN
Sample data: I can flatten out parent-child relationship using this query.... Any help... Thanks
Currently, I am using this query, which does a pretty good job of finding
I am trying to return voice messages from a database using this query :
When using this SQL query: Select * from table_name what happens if the name
I'm using this SQL query to create an index: $query = CREATE INDEX id_index2
I want DBSession.query(Article).group_by(Article.created.month).all() But this query can't using How do I do this using

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.