Solved

combine querys

Posted on 2008-10-02
3
206 Views
Last Modified: 2012-05-05
I have two queries and I need to combine them.  the PK in RNDC14 is NDC and when I run the query I get a unique value for NDC what I need to do is run the second part to get the record in the RNP2 database that is linked by the NDC.  the only problem is that there are multiple occurances of the NDC in the RNP2 database so I have to get the latest date.   How can I combine the 2 queries below.  Thank you for your help
SELECT     r.NPT_PRICEx, r.NDC, r.NPT_DATEC
FROM         dbo.RNP2 r INNER JOIN
                          (SELECT     MAX(npt_datec) AS maxbbdc, NDC
                            FROM          rnp2
                            GROUP BY NDC) a ON r.NDC = a.NDC AND r.NPT_DATEC = a.maxbbdc
WHERE     (r.NPT_TYPE = '01')
 
SELECT     TOP 100 PERCENT r.ndc, r.ln, r.bbdc
FROM         dbo.RNDC14 r INNER JOIN
                          (SELECT     ln, MAX(bbdc) maxbbdc
                            FROM          RNDC14
                            GROUP BY ln) a ON r.ln = a.ln AND r.bbdc = a.maxbbdc
WHERE     (r.cl = 'f') AND (r.gni = '1')
ORDER BY r.ln

Open in new window

0
Comment
Question by:running32
[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
  • 2
3 Comments
 
LVL 60

Accepted Solution

by:
Kevin Cross earned 500 total points
ID: 22628743
Is this what you are looking for.
SELECT     r.NPT_PRICEx, r.NDC, r.NPT_DATEC
FROM         dbo.RNP2 r INNER JOIN
                          (SELECT     MAX(npt_datec) AS maxbbdc, NDC
                            FROM          rnp2
                            GROUP BY NDC) a ON r.NDC = a.NDC AND r.NPT_DATEC = a.maxbbdc
INNER JOIN (SELECT     r.ndc, r.ln, r.bbdc
FROM         dbo.RNDC14 r INNER JOIN
                          (SELECT     ln, MAX(bbdc) maxbbdc
                            FROM          RNDC14
                            GROUP BY ln) a ON r.ln = a.ln AND r.bbdc = a.maxbbdc
WHERE     (r.cl = 'f') AND (r.gni = '1')) b ON b.NDC = a.NDC AND b.maxbbdc = a.maxbbdc
WHERE     (r.NPT_TYPE = '01')

Open in new window

0
 

Author Comment

by:running32
ID: 22659457
yes thanks
0
 
LVL 60

Expert Comment

by:Kevin Cross
ID: 22660454
You are welcome.
0

Featured Post

Major Incident Management Communications

Major incidents and IT service outages cost companies millions. Often the solution to minimizing damage is automated communication. Find out more in our Major Incident Management Communications infographic.

Question has a verified solution.

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

Suggested Solutions

PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
Composite queries are used to retrieve the results from joining multiple queries after applying any filters. UNION, INTERSECT, MINUS, and UNION ALL are some of the operators used to get certain desired results.​
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

738 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