pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Caleb Simonyi-Gindele <csg@bordervet.ca>
To: pgsql-sql@postgresql.org
Subject: Group by failing on Null values
Date: Mon, 19 Jul 2004 16:11:05 -0600
Message-ID: <000001c46ddd$491501d0$c201a8c0@borderveygqj37> (raw)

I have a SELECT query that basically adds up my sales, removes credit
adjustments (eg. Returns) and gives the net figure.

 

This is the query:

SELECT (SELECT SUM(cli_tran_amount) FROM vetpmardet WHERE
cli_credit_adj_trans_no IN (SELECT sys_tran_number from vetpmardet WHERE
cli_tran_trans_date BETWEEN '2004-07-11' AND '2004-07-17' )) +
SUM(cli_tran_amount) AS amount FROM vetpmardet WHERE cli_tran_trans_date
BETWEEN '2004-07-11' AND '2004-07-17' AND sys_transaction_type LIKE 'C' 

 

The subquery in there is necessary to link the credit back to the original
transaction. This query works well as far as I'm concerned.

 

Where I run into problems is when I try to break the report down by staff
codes. Unfortunately, my accounting s/w does not put a staff code with the
credit adjustment, but I do want to be able to see the net sales by staff
code. So I modify the query like this: (add one select column and a group by
clause) 

 

SELECT dat_staff_code, (SELECT SUM(cli_tran_amount) FROM vetpmardet WHERE
cli_credit_adj_trans_no IN (SELECT sys_tran_number from vetpmardet WHERE
cli_tran_trans_date BETWEEN '2004-07-11' AND '2004-07-17' )) +
SUM(cli_tran_amount) AS amount FROM vetpmardet WHERE cli_tran_trans_date
BETWEEN '2004-07-11' AND '2004-07-17' AND sys_transaction_type LIKE 'C'
GROUP BY dat_staff_code

 

But this query will not produce a row for dat_staff_code when it's value is
null. It only produces grouped rows where dat_staff_code is not null, and
the sum of those rows does not equal the value of the single row returned in
the first query above. How do I get it to produce a row even when
dat_staff_code is null?

 

TIA

Caleb

view thread (2+ messages)  latest in thread

Message-ID: <000001c46ddd$491501d0$c201a8c0@borderveygqj37>
Permalink:  ../000001c46ddd$491501d0$c201a8c0@borderveygqj37/
Also on:    postgresql.org/message-id/000001c46ddd$491501d0$c201a8c0@borderveygqj37

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: csg@bordervet.ca
  Subject: Re: Group by failing on Null values
  In-Reply-To: <000001c46ddd$491501d0$c201a8c0@borderveygqj37>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox