How do I combine two query result ?

Answered How do I combine two query result ?

  • Friday, December 07, 2012 1:00 AM
     
     

    HI,

    This has been confusing me for a long time. I have two tables, let's say "ImageGallery" and "SelectedImage". in ImageGallery,
    we have 
       ImageID   | ImageName
         1            | imageFileName1
         2            | imageFIleName2  
    , Then in ImageGallery, we have 
       ImageID 
         1

     So if you find a imageID in "SelectedImage" table, then we mark the ImageID in "ImageGallery" as Selected, the result would be like this

     ImageID| ImageName        | Selected 
          1      | imageFileName1  |  true
          2      | imageFIleName2  |  false

    I know I can use temptable to store the gallery and update it using "SelectedImage", but I found it is very inefficient. Is is possible that can be done just using the SELECT query?
    Thank you.


    Rui


    • Edited by R.Jiang Friday, December 07, 2012 1:04 AM content update
    •  

All Replies

  • Friday, December 07, 2012 1:13 AM
    Moderator
     
     Answered Has Code

    Try

    Select I.*, cast(case when IG.ImageID is NULL then 0 else 1 end as bit) as [Selected]
    
    from dbo.ImageGallery I LEFT JOIN dbo.SelectedImage IG ON I.ImageID = IG.ImageID


    For every expert, there is an equal and opposite expert. - Becker's Law


    My blog

  • Friday, December 07, 2012 1:40 AM
     
      Has Code
    declare @ImageGallery table(ImageID int,ImageName varchar(30))
    insert into @ImageGallery values(1,'imageFileName1'),(2,'imageFIleName2');
    declare @SelectedImage table(ImageID int)
    insert into @SelectedImage values(1);
    select ImageId,ImageName,
    case when ImageId IN (select ImageId from @SelectedImage) then 'True'
    else 'false' end as 'Selected'
    from @ImageGallery


    ESHANI. Please click "Mark As Answer" if a post solves your problem or "Vote As Helpful" if a post has been useful to you