?
Solved

getting the minum value of two select statements

Posted on 2014-03-07
4
Medium Priority
?
271 Views
Last Modified: 2014-03-07
I have these two select statements joined with a union statement and they return the correct values.  I would like to select the minimum of the two values?

      (select MIN(wou.use_date)
      from web_OnlinePass_Use wou
      inner join web_top_id wti on wti.ind_id = wou.id
      inner join Name n on n.ID = wou.id
      where wti.top_ID = '16040' and (USE_DATE >= '12/07/2012' and USE_DATE <= '12/06/2013'))
      union
      (select MIN(wolu.olu_date)
      from web_Online_library_Use wolu
      inner join web_top_id wti on wti.ind_id = wolu.id
      inner join Name n on n.ID = wolu.id
      where wti.top_ID = '16040' and (olu_DATE >= '12/07/2012' and olu_DATE <= '12/06/2013'))


need the figure how to nest this union as part of another select min() statement?
0
Comment
Question by:Jeff_Kingston
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 
LVL 11

Expert Comment

by:Simone B
ID: 39912754
Try this:

SELECT MIN(X.DateValue) FROM (
      (select MIN(wou.use_date) AS DateValue
      from web_OnlinePass_Use wou 
      inner join web_top_id wti on wti.ind_id = wou.id
      inner join Name n on n.ID = wou.id
      where wti.top_ID = '16040' and (USE_DATE >= '12/07/2012' and USE_DATE <= '12/06/2013'))
      union
      (select MIN(wolu.olu_date) AS DateValue
      from web_Online_library_Use wolu 
      inner join web_top_id wti on wti.ind_id = wolu.id
      inner join Name n on n.ID = wolu.id
      where wti.top_ID = '16040' and (olu_DATE >= '12/07/2012' and olu_DATE <= '12/06/2013'))
) AS X

Open in new window

0
 
LVL 11

Accepted Solution

by:
Simone B earned 2000 total points
ID: 39912770
You can also use a Common Table Expression:

(Edit sorry, forgot the brackets)

WITH CTE (DateValue) AS 
     ( (select MIN(wou.use_date) AS DateValue
      from web_OnlinePass_Use wou 
      inner join web_top_id wti on wti.ind_id = wou.id
      inner join Name n on n.ID = wou.id
      where wti.top_ID = '16040' and (USE_DATE >= '12/07/2012' and USE_DATE <= '12/06/2013'))
      union
      (select MIN(wolu.olu_date) AS DateValue
      from web_Online_library_Use wolu 
      inner join web_top_id wti on wti.ind_id = wolu.id
      inner join Name n on n.ID = wolu.id
      where wti.top_ID = '16040' and (olu_DATE >= '12/07/2012' and olu_DATE <= '12/06/2013')))
SELECT MIN( DateValue) FROM CTE

Open in new window

0
 

Author Closing Comment

by:Jeff_Kingston
ID: 39912774
Super thanks for the rapid reply.
0
 
LVL 11

Expert Comment

by:Simone B
ID: 39912776
You're welcome!
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

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

In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
In part one, we reviewed the prerequisites required for installing SQL Server vNext. In this part we will explore how to install Microsoft's SQL Server on Ubuntu 16.04.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.
Suggested Courses

762 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