You are here: Re: Q on joining tables with nullable fields « MsSQL Server « IT news, forums, messages
Re: Q on joining tables with nullable fields

Posted by mike on 09/25/36 11:59

Ok I finally got it. I still don't know why that didn't work. But
here is what I did instead and it worked.
On the join I changed it to the following.

On t1.field1=t2.field1 and (case when t1.field2 is null then '' else
t1.field2 end)=(case when t2.field2 is null then '' else t2.field2 end)



mike wrote:
> Oh yea, and one thing I forgot is that my join is a Left Outer, if I
> make it an inner join the records with the NULL just don't show at all.
> So the issue is within the linking.
>
> mike wrote:
> > Yes using select statements like that does return the data where field2
> > is null.
> > This is just using query analyzer. This is part of a view that I am
> > making some changes to.
> > Also I have tried using the SET ANSI_NULLS ON and SET ANSI_NULLS OFF
> > and it made no difference.
> >
> > Ed Murphy wrote:
> > > mike wrote:
> > >
> > > > I have a new table that I am adding to a script that I wrote. This
> > > > table has 3 fields, the first 2 fields are used in the on statement as
> > > > being = other fields in the script.
> > > >
> > > > The first field always has data in it, but the 2nd field is sometimes
> > > > null.
> > > >
> > > > So my problem is if both fields have data in them and they both match
> > > > to the data in the fields that I am linking them to, then it returns
> > > > the 3rd field without a problem. However if the 2nd field is null then
> > > > it is returning a null for the 3rd field. I have checked and the field
> > > > that I am linking to is null also.
> > > >
> > > > So if I have
> > > >
> > > > select t1.field1, t1.field2, t2.field1, t2.field2, t2.field3
> > > > from table1 t1
> > > > join table2 t2
> > > > on t1.field1=t2.field1 and t1.field2=t2.field2
> > > >
> > > > with 2 records in each table
> > > > table1: record1: data, data
> > > > record2: data, null
> > > > table2: record1: data,data,data
> > > > record2: data,null,data
> > > >
> > > > what I get from the script is
> > > > record1: data, data,data,data,data
> > > > record2: data,null,data,null,null
> > > >
> > > >
> > > > I would expect
> > > > record2: data,null,data,null,data
> > >
> > > Please use sample data like 'A', 'B', 'C', etc., instead of "data" which
> > > is much more confusing.
> > >
> > > Run some sanity checks on the data:
> > >
> > > select * from table1 where field2 is null
> > > select * from table1 where field2 = 'NULL'
> > >
> > > select * from table2 where field2 is null
> > > select * from table2 where field2 = 'NULL'
> > >
> > > What tool are you using to pull the data? Some clients (e.g. Crystal
> > > Reports) have a "convert nulls to empty values" option.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация