Solved

Join 2 SQL query results togther using sequel

Posted on 2008-10-17
4
264 Views
Last Modified: 2012-05-05
Ok, i think this is an easy one but I cant remember how to do this. I have 2 queries with 2 seprate results sets from which I need to create one table

Query 1
SELECT
dateName(month,project_recd_dt) as recdMonth,
COUNT(CASE WHEN PRESALES_STATUS = 'Pending Review'
               THEN 1
               END) AS pending
FROM...

Result set 1:
JAN   1
FEB   2
MAR  3

Query 2
SELECT
dateName(month,project_recd_dt) as recdMonth,
SUM(stepMins) as Time
FROM...

Result set 2:
JAN  11 hrs
FEB   22 hrs
MAR  33 hrs

I would like to join these 2 sets together to result in one table
JAN    1       11 hrs
FEB     2       22 hrs
MAR   3       33 hrs
0
Comment
Question by:Wirt
  • 2
  • 2
4 Comments
 
LVL 60

Expert Comment

by:chapmandew
ID: 22741133
like this:


select * into newtable
from
(
SELECT
dateName(month,project_recd_dt) as recdMonth,
COUNT(CASE WHEN PRESALES_STATUS = 'Pending Review'
               THEN 1
               END) AS pending
FROM...
) a
join
(
SELECT
dateName(month,project_recd_dt) as recdMonth,
SUM(stepMins) as Time
FROM...
) b on a.datename = b.datename
0
 

Author Comment

by:Wirt
ID: 22741278
Sorry i thought i could get off easy so i did not post as much detail. This inline fx will not work b/c I have a different cols in each Q. I've attached the Qs and their results
 
 

-- Query 1 

SELECT

dateName(month,project_recd_dt) as recdMonth,

COUNT(CASE WHEN PRESALES_STATUS = 'Pending Review'

		   THEN 1

		   END) AS pending,

COUNT(CASE WHEN PRESALES_STATUS = 'Open/In Progress'

		   THEN 1

		   END) AS openInProgress,

COUNT(CASE WHEN PRESALES_STATUS = 'Sent to Centralized / Auto Complete' or PRESALES_STATUS = 'Sent to Centralized'

		   THEN 1

		   END) AS cent,

COUNT(CASE WHEN PRESALES_STATUS = 'Sent to Remote Support'

		   THEN 1

		   END) AS remote,

COUNT(CASE WHEN PRESALES_STATUS = 'Canceled'

		   THEN 1

		   END) AS canceled,

COUNT(CASE WHEN PRESALES_STATUS = 'On Hold'

		   THEN 1

		   END) AS hold,

COUNT(CASE WHEN PRESALES_STATUS = 'Completed'

		   THEN 1

		   END) AS completed,

COUNT(PROJECT_ACTIVITY.PROJECT_ID) AS actCount
 

FROM

PROJECT_ACTIVITY JOIN PMT_USERS

ON PMT_USERS.PMT_USER_ID = PROJECT_ACTIVITY.PMT_USER_ID
 
 

WHERE

PROJECT_TYPE = 'REVENUE'

AND project_recd_dt > '1/1/2008'
 

GROUP BY datename(month,Project_Recd_DT),month(Project_Recd_DT)

ORDER By month(Project_Recd_DT)
 

-- Query 2

SELECT

dateName(month,project_recd_dt) as recdMonth,

SUM(stepMins)/60 as actTime,

SUM(CASE  WHEN substring(LEGACY_SYS_TYPE,8,1) = 'T'

			THEN PRODUCT_QTY

			END) as legacyT,

SUM(CASE  WHEN substring(LEGACY_SYS_TYPE,8,1) = 'B'

			THEN PRODUCT_QTY

			END) as legacyB,

SUM(CASE  WHEN substring(LEGACY_SYS_TYPE,8,1) = 'S'

			THEN PRODUCT_QTY

			END) as legacyS

FROM

PROJECT_ACTIVITY JOIN PMT_USERS

ON PMT_USERS.PMT_USER_ID = PROJECT_ACTIVITY.PMT_USER_ID

LEFT OUTER JOIN PMT_PRODUCT_PROCESS_CYCLE

ON PMT_PRODUCT_PROCESS_CYCLE.PROJECT_ID = PROJECT_ACTIVITY.PROJECT_ID

LEFT OUTER JOIN PMT_STEP_PROCESS_CYCLE

ON PMT_STEP_PROCESS_CYCLE.PROD_PROCESS_ID = PMT_PRODUCT_PROCESS_CYCLE.PROD_PROCESS_ID
 

WHERE

PROJECT_TYPE = 'REVENUE'

AND project_recd_dt > '1/1/2008'
 

GROUP BY datename(month,Project_Recd_DT),month(Project_Recd_DT)

ORDER By month(Project_Recd_DT)

Open in new window

set-1.txt
set-2.txt
0
 
LVL 60

Accepted Solution

by:
chapmandew earned 500 total points
ID: 22741329
should be the same idea....just include the extra columns:

select * into #temp

from 

(

SELECT

dateName(month,project_recd_dt) as recdMonth,

COUNT(CASE WHEN PRESALES_STATUS = 'Pending Review'

                   THEN 1

                   END) AS pending,

COUNT(CASE WHEN PRESALES_STATUS = 'Open/In Progress'

                   THEN 1

                   END) AS openInProgress,

COUNT(CASE WHEN PRESALES_STATUS = 'Sent to Centralized / Auto Complete' or PRESALES_STATUS = 'Sent to Centralized'

                   THEN 1

                   END) AS cent,

COUNT(CASE WHEN PRESALES_STATUS = 'Sent to Remote Support'

                   THEN 1

                   END) AS remote,

COUNT(CASE WHEN PRESALES_STATUS = 'Canceled'

                   THEN 1

                   END) AS canceled,

COUNT(CASE WHEN PRESALES_STATUS = 'On Hold'

                   THEN 1

                   END) AS hold,

COUNT(CASE WHEN PRESALES_STATUS = 'Completed'

                   THEN 1

                   END) AS completed,

COUNT(PROJECT_ACTIVITY.PROJECT_ID) AS actCount

 

FROM

PROJECT_ACTIVITY JOIN PMT_USERS

ON PMT_USERS.PMT_USER_ID = PROJECT_ACTIVITY.PMT_USER_ID

 

 

WHERE

PROJECT_TYPE = 'REVENUE'

AND project_recd_dt > '1/1/2008'

 

GROUP BY datename(month,Project_Recd_DT),month(Project_Recd_DT)

) a 

JOIN 

(

SELECT

dateName(month,project_recd_dt) as recdMonth,

SUM(stepMins)/60 as actTime,

SUM(CASE  WHEN substring(LEGACY_SYS_TYPE,8,1) = 'T'

                        THEN PRODUCT_QTY

                        END) as legacyT,

SUM(CASE  WHEN substring(LEGACY_SYS_TYPE,8,1) = 'B'

                        THEN PRODUCT_QTY

                        END) as legacyB,

SUM(CASE  WHEN substring(LEGACY_SYS_TYPE,8,1) = 'S'

                        THEN PRODUCT_QTY

                        END) as legacyS

FROM

PROJECT_ACTIVITY JOIN PMT_USERS

ON PMT_USERS.PMT_USER_ID = PROJECT_ACTIVITY.PMT_USER_ID

LEFT OUTER JOIN PMT_PRODUCT_PROCESS_CYCLE

ON PMT_PRODUCT_PROCESS_CYCLE.PROJECT_ID = PROJECT_ACTIVITY.PROJECT_ID

LEFT OUTER JOIN PMT_STEP_PROCESS_CYCLE

ON PMT_STEP_PROCESS_CYCLE.PROD_PROCESS_ID = PMT_PRODUCT_PROCESS_CYCLE.PROD_PROCESS_ID

 

WHERE

PROJECT_TYPE = 'REVENUE'

AND project_recd_dt > '1/1/2008'

 

GROUP BY datename(month,Project_Recd_DT),month(Project_Recd_DT)

) b ON a.RecdMonth = b.RecdMonth
 
 

select * from #temp

Open in new window

0
 

Author Closing Comment

by:Wirt
ID: 31507162
I was wrong, thats why your the Genius, thanks!!!!
0

Featured Post

Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.

Question has a verified solution.

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

If you find yourself in this situation “I have used SELECT DISTINCT but I’m getting duplicates” then I'm sorry to say you are using the wrong SQL technique as it only does one thing which is: produces whole rows that are unique. If the results you a…
If you have heard of RFC822 date formats, they can be quite a challenge in SQL Server. RFC822 is an Internet standard format for email message headers, including all dates within those headers. The RFC822 protocols are available in detail at:   ht…
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.

929 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now