INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Join tables on CASE

Join tables on CASE

(OP)
Hi. I have two tables:

CODE

create table #mytable1 (lot varchar(3), addition varchar(25))
insert into #mytable1 values ('9', 'ANDERSON ADD')

create table #mytable2 (lot varchar(3), addition varchar(25))
insert into mytable values ('1', 'ANDERSON ADD')
insert into mytable2 values ('9', 'ANDERSON ADD')
insert into mytable2 values ('ALL', 'ANDERSON ADD')
insert into mytable2 values ('1', 'JUNIPER SUB')
insert into mytable2 values ('9', 'ANDERSON ADD')
insert into mytable2 values ('8', 'ANDERSON ADD') 

I would like to select everything in #mytable1 and join any matching addition and lot items in #mytable2:

CODE

select * 
from #mytable1
join #mytable2 on 
#mytable1.lot = #mytable2.lot
and #mytable1.addition = #mytable2.addition 

However, any time the lot field shows ALL in #mytable2 I would like it to also join on #mytable1.lot = #mytable2.lot. (They use the word ALL to mean all lots). Ideally I would like:

#mytable1.lot, #mytable1.addition, #mytable2.lot, #mytable2.addition
9, ANDERSON ADD, 9, ANDERSON ADD
9, ANDERSON ADD, ALL, ANDERSON ADD

I have been playing around with CASE, but can't quite make it work... or know if this is the best way to go.

RE: Join tables on CASE

CODE

select * 
from #mytable1
join #mytable2 on 
#mytable2.lot in (#mytable1.lot,'ALL')
and #mytable1.addition = #mytable2.addition 

Bye, Olaf.

RE: Join tables on CASE

(OP)
Perfect thanks!

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close