Нужна помощь с запросом!((

vanchen
Дата: 17.01.2009 12:12:24
Необходимо динамически генерируемое поле из данных нескольких полей... С его созданием проблемм не возникает, однако когда одно из полей NULL то и результирующее поле NULL!((

Вот запрос:
select  (street+n+ent+flo) as w  from (select dp.streetid,
			dp.houseid,
			dp.entranceid,
			dp.floorid,
			dp.pointconnectionid,
			dp.pointnumberid,
			dp.spdid,
			(' д.'+h.house) as n, (' п.'+entrance) as ent, (' '+[floor]+' эт. ') as flo,
			st.street,
			h.house,
			e.entrance,
			f.[floor]
		  from npoint dp 
		left join spd s
		on dp.spdid=s.[id]
		left join streets st
		on dp.streetid=st.[id]
		left join houses h
		on dp.houseid=h.[id]
		left join entrance e
		on dp.entranceid=e.[id]
		left join pointconnectiontype pct
		on dp.pointconnectionid=pct.[id]
		left join pointnumber pn
		on dp.pointnumberid=pn.[id]
		left join [floor] f
		on dp.floorid=f.[id]) qwe
 

Если поля n,ent и flo не нулевые то все зашибись...
Заранее спасибо за помощь!!
Паганель
Дата: 17.01.2009 12:18:56
declare @t table(street varchar(10), n varchar(10), ent varchar(10), flo varchar(10))
insert into @t(street, n, ent, flo)
select 'a', 'b', 'c', 'd' union all
select null, 'b', null, 'd' union all
select null, null, null, null

select street + n + ent + flo as result1
      ,IsNull(street, '') + IsNull(n, '') + IsNull(ent, '') + IsNull(flo, '') as result2
  from @t

result1                                  result2
---------------------------------------- ----------------------------------------
abcd                                     abcd
NULL                                     bd
NULL                                     

(3 row(s) affected)
vanchen
Дата: 17.01.2009 12:21:29
Паганель, огромное спаибо!!))) Истина была рядом....