dbTalk Databases Forums  

Complex query - PLEASE HELP!

comp.databases comp.databases


Discuss Complex query - PLEASE HELP! in the comp.databases forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
S.
 
Posts: n/a

Default Complex query - PLEASE HELP! - 02-02-2008 , 02:30 AM






Hi guys,

Any ideas with an SQL that will retrieve the expected results?

Expected Results:
==============
ID orderdate customer
2 20/02/2007 JONES
4 20/06/2007 SMITH
6 20/05/2007 BROWN

The above results are from the following resultset in the database:
================================================
ID orderdate customer
1 20/01/2007 SMITH
2 20/02/2007 JONES
3 20/03/2007 BROWN
4 20/06/2007 SMITH
5 20/12/2007 SMITH
6 20/05/2007 BROWN

I need the:
- ID of the record
- the customer name
- most recent orderdate that occurs for that customer
- only the records where the orderdate is less than 20/12/2007

I have been working on this for a while and I have tried the MAX
function and nested SELECT queries all ending with just frustration.

Hope you can help!
S.

Reply With Quote
  #2  
Old   
Lennart
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! - 02-02-2008 , 04:30 AM






On Feb 2, 8:30 am, "S." <sianeag... (AT) gmail (DOT) com> wrote:
Quote:
Hi guys,

Any ideas with an SQL that will retrieve the expected results?

Expected Results:
==============
ID orderdate customer
2 20/02/2007 JONES
4 20/06/2007 SMITH
6 20/05/2007 BROWN

The above results are from the following resultset in the database:
================================================
ID orderdate customer
1 20/01/2007 SMITH
2 20/02/2007 JONES
3 20/03/2007 BROWN
4 20/06/2007 SMITH
5 20/12/2007 SMITH
6 20/05/2007 BROWN

I need the:
- ID of the record
- the customer name
- most recent orderdate that occurs for that customer
- only the records where the orderdate is less than 20/12/2007

I have been working on this for a while and I have tried the MAX
function and nested SELECT queries all ending with just frustration.

Hope you can help!
S.
What is the maximum orderdate per customer before 20/12/2007? Given
that, can you determine the id for each such row?

/Lennart


Reply With Quote
  #3  
Old   
Lennart
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! - 02-02-2008 , 04:30 AM



On Feb 2, 8:30 am, "S." <sianeag... (AT) gmail (DOT) com> wrote:
Quote:
Hi guys,

Any ideas with an SQL that will retrieve the expected results?

Expected Results:
==============
ID orderdate customer
2 20/02/2007 JONES
4 20/06/2007 SMITH
6 20/05/2007 BROWN

The above results are from the following resultset in the database:
================================================
ID orderdate customer
1 20/01/2007 SMITH
2 20/02/2007 JONES
3 20/03/2007 BROWN
4 20/06/2007 SMITH
5 20/12/2007 SMITH
6 20/05/2007 BROWN

I need the:
- ID of the record
- the customer name
- most recent orderdate that occurs for that customer
- only the records where the orderdate is less than 20/12/2007

I have been working on this for a while and I have tried the MAX
function and nested SELECT queries all ending with just frustration.

Hope you can help!
S.
What is the maximum orderdate per customer before 20/12/2007? Given
that, can you determine the id for each such row?

/Lennart


Reply With Quote
  #4  
Old   
Lennart
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! - 02-02-2008 , 04:30 AM



On Feb 2, 8:30 am, "S." <sianeag... (AT) gmail (DOT) com> wrote:
Quote:
Hi guys,

Any ideas with an SQL that will retrieve the expected results?

Expected Results:
==============
ID orderdate customer
2 20/02/2007 JONES
4 20/06/2007 SMITH
6 20/05/2007 BROWN

The above results are from the following resultset in the database:
================================================
ID orderdate customer
1 20/01/2007 SMITH
2 20/02/2007 JONES
3 20/03/2007 BROWN
4 20/06/2007 SMITH
5 20/12/2007 SMITH
6 20/05/2007 BROWN

I need the:
- ID of the record
- the customer name
- most recent orderdate that occurs for that customer
- only the records where the orderdate is less than 20/12/2007

I have been working on this for a while and I have tried the MAX
function and nested SELECT queries all ending with just frustration.

Hope you can help!
S.
What is the maximum orderdate per customer before 20/12/2007? Given
that, can you determine the id for each such row?

/Lennart


Reply With Quote
  #5  
Old   
Thomas Kellerer
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! - 02-02-2008 , 05:26 AM





S. wrote on 02.02.2008 08:30:
Quote:
Hi guys,

Any ideas with an SQL that will retrieve the expected results?

Expected Results:
==============
ID orderdate customer
2 20/02/2007 JONES
4 20/06/2007 SMITH
6 20/05/2007 BROWN

The above results are from the following resultset in the database:
================================================
ID orderdate customer
1 20/01/2007 SMITH
2 20/02/2007 JONES
3 20/03/2007 BROWN
4 20/06/2007 SMITH
5 20/12/2007 SMITH
6 20/05/2007 BROWN

I need the:
- ID of the record
- the customer name
- most recent orderdate that occurs for that customer
- only the records where the orderdate is less than 20/12/2007

I have been working on this for a while and I have tried the MAX
function and nested SELECT queries all ending with just frustration.
Hmm. What about:

SELECT *
FROM cust_table ct1
WHERE orderdate = (
SELECT max(orderdate)
FROM cust_table ct2
WHERE ct1.customer = ct2.customer
AND orderdate < '2007-12-20'
)


Reply With Quote
  #6  
Old   
Thomas Kellerer
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! - 02-02-2008 , 05:26 AM





S. wrote on 02.02.2008 08:30:
Quote:
Hi guys,

Any ideas with an SQL that will retrieve the expected results?

Expected Results:
==============
ID orderdate customer
2 20/02/2007 JONES
4 20/06/2007 SMITH
6 20/05/2007 BROWN

The above results are from the following resultset in the database:
================================================
ID orderdate customer
1 20/01/2007 SMITH
2 20/02/2007 JONES
3 20/03/2007 BROWN
4 20/06/2007 SMITH
5 20/12/2007 SMITH
6 20/05/2007 BROWN

I need the:
- ID of the record
- the customer name
- most recent orderdate that occurs for that customer
- only the records where the orderdate is less than 20/12/2007

I have been working on this for a while and I have tried the MAX
function and nested SELECT queries all ending with just frustration.
Hmm. What about:

SELECT *
FROM cust_table ct1
WHERE orderdate = (
SELECT max(orderdate)
FROM cust_table ct2
WHERE ct1.customer = ct2.customer
AND orderdate < '2007-12-20'
)


Reply With Quote
  #7  
Old   
Thomas Kellerer
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! - 02-02-2008 , 05:26 AM





S. wrote on 02.02.2008 08:30:
Quote:
Hi guys,

Any ideas with an SQL that will retrieve the expected results?

Expected Results:
==============
ID orderdate customer
2 20/02/2007 JONES
4 20/06/2007 SMITH
6 20/05/2007 BROWN

The above results are from the following resultset in the database:
================================================
ID orderdate customer
1 20/01/2007 SMITH
2 20/02/2007 JONES
3 20/03/2007 BROWN
4 20/06/2007 SMITH
5 20/12/2007 SMITH
6 20/05/2007 BROWN

I need the:
- ID of the record
- the customer name
- most recent orderdate that occurs for that customer
- only the records where the orderdate is less than 20/12/2007

I have been working on this for a while and I have tried the MAX
function and nested SELECT queries all ending with just frustration.
Hmm. What about:

SELECT *
FROM cust_table ct1
WHERE orderdate = (
SELECT max(orderdate)
FROM cust_table ct2
WHERE ct1.customer = ct2.customer
AND orderdate < '2007-12-20'
)


Reply With Quote
  #8  
Old   
S.
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! [Solved] - 02-02-2008 , 08:39 PM



Thanks Thomas,

That was exactly what i was after!

S.

Reply With Quote
  #9  
Old   
S.
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! [Solved] - 02-02-2008 , 08:39 PM



Thanks Thomas,

That was exactly what i was after!

S.

Reply With Quote
  #10  
Old   
S.
 
Posts: n/a

Default Re: Complex query - PLEASE HELP! [Solved] - 02-02-2008 , 08:39 PM



Thanks Thomas,

That was exactly what i was after!

S.

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.