Solved

SQL SubSelect Query, join two separate queries

Posted on 2007-03-29
8
2,030 Views
Last Modified: 2012-06-27
I've got two queries that I want to combine into one:

SELECT LogDay, Visits FROM vwNumVisitsByDay WHERE LogYear = 2007 AND LogMonth = 2 ORDER BY LogDay
SELECT LogDay, Pages FROM vwNumPagesByDay WHERE LogYear = 2007 AND LogMonth = 2 ORDER BY LogDay

The first query returns:
1      77
2      93
3      9
4      15
5      83
6      82
7      99
8      90
9      93
10      20
11      14
12      166
13      127
14      125
15      105
16      124
17      11
18      16
19      94
20      95
21      100
22      101
23      77
24      14
25      3
26      91
27      63
28      76

The second,
1      257
2      349
3      24
4      36
5      236
6      334
7      325
8      347
9      308
10      39
11      49
12      416
13      364
14      10
16      174
17      19
18      51
19      259
20      151
21      166
22      415
23      252
24      55
25      6
26      273
27      259
28      162

So I want the results instead to be:
1      77      257
2      93      349
3      9      24
4      15      36
5      83      236
6      82      334
7      99      325
8      90      347
9      93      308
10      20      39
11      14      49
12      166      416
13      127      364
14      125      10
15      105      0
16      124      174
17      11      19
18      16      51
19      94      259
20      95      151
21      100      166
22      101      415
23      77      252
24      14      55
25      3      6
26      91      273
27      63      259
28      76      162

Many thanks!
eq
0
Comment
Question by:equentin
[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
  • 3
  • 2
8 Comments
 
LVL 10

Expert Comment

by:lahousden
ID: 18817551
SELECT LogDay, Visits, Pages FROM vwNumVisitsByDay WHERE LogYear = 2007 AND LogMonth = 2 ORDER BY LogDay
0
 

Author Comment

by:equentin
ID: 18817562
They're actually two different views I'm using...
0
 
LVL 5

Expert Comment

by:ethan_mmg
ID: 18817567
SELECT a.LogDay, SUM(a.Pages), SUM(a.Visits)
FROM (
SELECT LogDay, 0 Pages, Visits FROM vwNumVisitsByDay WHERE LogYear = 2007 AND LogMonth = 2 ORDER BY LogDay
Union All
SELECT LogDay, Pages, 0 FROM vwNumPagesByDay WHERE LogYear = 2007 AND LogMonth = 2 ORDER BY LogDay) a
GROUP BY a.LogDay
0
Percona Live Europe 2017 | Sep 25 - 27, 2017

The Percona Live Open Source Database Conference Europe 2017 is the premier event for the diverse and active European open source database community, as well as businesses that develop and use open source database software.

 

Author Comment

by:equentin
ID: 18817589
Hi Ethan,

That returns the following error:

Server: Msg 1033, Level 15, State 1, Line 4
The ORDER BY clause is invalid in views, inline functions, derived tables, and subqueries, unless TOP is also specified.
Server: Msg 170, Level 15, State 1, Line 5
Line 5: Incorrect syntax near ')'.
0
 
LVL 10

Accepted Solution

by:
lahousden earned 500 total points
ID: 18817639
My bad.  Howsabout:

SELECT LogDay, Visits, Pages
from vwNumVisitsByDay as v
full outer join vwNumPagesByDay as p on p.LogYear = v.LogYear and p.LogMonth = v.LogMonth and p.LogDay = v.LogDay
where (v.LogYear = 2007 and v.LogMonth = 2)
or (p.LogYear = 2007 and p.LogMonth = 2)
0
 
LVL 5

Expert Comment

by:ethan_mmg
ID: 18817653
SELECT a.LogDay, SUM(a.Pages), SUM(a.Visits)
FROM (
SELECT LogDay, 0 Pages, Visits FROM vwNumVisitsByDay WHERE LogYear = 2007 AND LogMonth = 2
Union All
SELECT LogDay, Pages, 0 FROM vwNumPagesByDay WHERE LogYear = 2007 AND LogMonth = 2 ORDER BY LogDay) a
GROUP BY a.LogDay
ORDER BY a.LogDay
0
 
LVL 10

Expert Comment

by:lahousden
ID: 18817658
(...I know... ambiguous names...)

first line should be:

SELECT isnull (v.LogDay, pLogDay) LogDay, v.Visits, p.Pages
0
 

Author Comment

by:equentin
ID: 18817684
That's great, thanks all for your help!
0

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

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

Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

623 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