Solved

combining two resultsets into one

Posted on 2008-10-21
3
372 Views
Last Modified: 2010-04-21
I am trying to combine the result of two queries into one result set, and return that back to my web page.

Table a
fields (id, invtid, price, theme)

table b
id, invtid, theme)

I want to pull back all of the results from a where the theme is 'XXX"

and then incorporate the results of table b into the resultset where the contents of B equal 'XXX' for theme.

And I have tried a number of ways of trying to do this as you can see from the code sample down below, right now I am getting a syntax error right after I try the left outer join on B, but even if I get this working I don't think it will work the way I want it to work.

So if anyone has any ideas on how to do this I would appreciate your help. Thanks.
prd.clearanceprice,
        tp.recordid,
        sic.sitecategories_id,
        dbo.Func_Product_GetMenuParentId(sic.sitecategories_id),
        dbo.func_priceproduct_getprice_absolute(prd.invtid, prd.[SellInMult]),
        prd.parentinvtid,
        sic.seo_url,
        sic.template_image,
        sic.template_colour,
        sic.template_default,
        sic.layer1_src) A
 LEFT OUTER JOIN
 {SELECT tp.invtid,
        prd.descr,
        prd.clearance,
        prd.clearanceprice,
        tp.recordid,
        dbo.func_priceproduct_getprice_absolute(prd.invtid, prd.[SellInMult]) AS price,
        prd.parentinvtid,
        sic.seo_url,
        sic.sitecategories_id AS sitecategory_id,
        dbo.Func_Product_GetMenuParentId(sic.sitecategories_id) AS menu_parent,
        sic.template_image,
        sic.template_colour,
        sic.template_default,
        sic.layer1_src,
        sicc.extcode
 FROM   themesproducts tp WITH ( NOLOCK )
        INNER JOIN products prd ON prd.invtid = tp.invtid
        LEFT JOIN skuitemcharacter sicc ON sicc.extcode = 'GIN'
        LEFT JOIN SiteItemCategory sic ON sic.invtid = tp.invtid
 WHERE  tp.themeid_fk = 144 --and 
			--							sic.is_primary=1
        AND ( prd.parentinvtid IS NOT NULL
              AND LEN(prd.parentinvtid) = 0
            )
 GROUP BY tp.invtid,
        prd.descr,
        prd.clearance,
        prd.clearanceprice,
        tp.recordid,
        sic.sitecategories_id,
        dbo.Func_Product_GetMenuParentId(sic.sitecategories_id),
        dbo.func_priceproduct_getprice_absolute(prd.invtid, prd.[SellInMult]),
        prd.parentinvtid,
        sic.seo_url,
        sic.template_image,
        sic.template_colour,
        sic.template_default,
        sic.layer1_src,
        sicc.extcode) B
        ON a.invtid = b.invtid --b.extcode = 'GIN'

Open in new window

0
Comment
Question by:JDEE8297
[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 39

Accepted Solution

by:
BrandonGalderisi earned 125 total points
ID: 22772737
You have no beginning select or from statements.  Your derived table has a beginning { instead of ( and has no ending ).

I'll give you a general fixup here, but you'll need to ensure your table names are correct.

select {What} -- where {WHAT} represents the fields you want to select
from Where a
join Where2 b
on a.Field=b.Field -- where field
join (select a.id,b.col1,sum(b.something) sumsomething from Tablea a join tableb b on a.id=b.id group by a.id,b.col1) c
-- ^^ this is a derived table of a.id and b.col1 that is now referred to as c
on a.id=c.id

where a.SomeField = 'SomeValue'
select * from 
(select 
        prd.clearanceprice,
        tp.recordid,
        sic.sitecategories_id,
        dbo.Func_Product_GetMenuParentId(sic.sitecategories_id),
        dbo.func_priceproduct_getprice_absolute(prd.invtid, prd.[SellInMult]),
        prd.parentinvtid,
        sic.seo_url,
        sic.template_image,
        sic.template_colour,
        sic.template_default,
        sic.layer1_src
from What_Table_Do_You_Want_Your_First_RecordsToComeFrom prd
join WhatOtherTable tp
on prd.what=tp.what
join WhatOtherTableslc SLC
on tp.What=slc.what
 
) A
 
 LEFT OUTER JOIN
 (SELECT tp.invtid,
        prd.descr,
        prd.clearance,
        prd.clearanceprice,
        tp.recordid,
        dbo.func_priceproduct_getprice_absolute(prd.invtid, prd.[SellInMult]) AS price,
        prd.parentinvtid,
        sic.seo_url,
        sic.sitecategories_id AS sitecategory_id,
        dbo.Func_Product_GetMenuParentId(sic.sitecategories_id) AS menu_parent,
        sic.template_image,
        sic.template_colour,
        sic.template_default,
        sic.layer1_src,
        sicc.extcode
 FROM   themesproducts tp WITH ( NOLOCK )
        INNER JOIN products prd ON prd.invtid = tp.invtid
        LEFT JOIN skuitemcharacter sicc ON sicc.extcode = 'GIN'
        LEFT JOIN SiteItemCategory sic ON sic.invtid = tp.invtid
 WHERE  tp.themeid_fk = 144 --and 
                        --                                                      sic.is_primary=1
        AND ( prd.parentinvtid IS NOT NULL
              AND LEN(prd.parentinvtid) = 0
            )
 GROUP BY tp.invtid,
        prd.descr,
        prd.clearance,
        prd.clearanceprice,
        tp.recordid,
        sic.sitecategories_id,
        dbo.Func_Product_GetMenuParentId(sic.sitecategories_id),
        dbo.func_priceproduct_getprice_absolute(prd.invtid, prd.[SellInMult]),
        prd.parentinvtid,
        sic.seo_url,
        sic.template_image,
        sic.template_colour,
        sic.template_default,
        sic.layer1_src,
        sicc.extcode) B
        ON a.invtid = b.invtid --b.extcode = 'GIN'

Open in new window

0
 

Author Comment

by:JDEE8297
ID: 22772990
I don't have access to my work machine, but something must have gone wrong when I cut and paste this into here, but thanks for the quick reply.
0
 

Author Closing Comment

by:JDEE8297
ID: 31508570
thank you for your help.
0

Featured Post

Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Want an individual results display div 8 44
Related to SQL Query 5 21
SQL Server code help needed 14 32
Estimating my database size 7 13
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.

749 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