Just to give an answer - It can be done, it can lengthen a query by quite some time though, especially if you have 2 large datasets.Declare @a table (AID Varchar(4), Name Varchar(10))Declare @b table (BID Varchar(4), BID2 Varchar(4))Insert into @aSelect '1111', 'a' UnionSelect '2222', 'b' UnionSelect 'A222', 'c' Insert into @bSelect '9999', 'A222' UnionSelect '1111', 'B233'Select * from @a Left Join @b on (Case when Left(AID,1) = 'A' then BID2 Else BID end) = AID