вы должны проверьте каждую колонку NULL
или нет с помощью ISNULL
declare @temp table
(
name nvarchar(11),
gmail nvarchar(11),
yahoo nvarchar(11),
hotmail nvarchar(11))
insert into @temp values ('snkar' ,'X' , NULL, NULL)
insert into @temp values ('avinth' ,NULL, 'Y' , NULL)
insert into @temp values ('vithran',NULL,NULL ,'Z' )
select * from @temp
select
name,isnull(gmail,isnull(yahoo,hotmail)) gmail,
isnull(yahoo,isnull(gmail,hotmail)) yahoo,
isnull(hotmail,isnull(gmail,yahoo)) hotmail
from @temp
, и если у нас есть несколько строк с таким же именем, как и что мы должны фильтровать данные такие же, как тогда этот метод будет полезен
insert into @temp values ('snkar' ,'X' , NULL, NULL)
insert into @temp values ('snkar' ,NULL, 'X' , NULL)
insert into @temp values ('snkar',NULL,NULL ,'X' )
select name,max(gmail) gmail,max(yahoo) yahoo,max(hotmail) hotmail
from @temp
group by name
Mysql или SQLServer? –
Вопрос не ясен, что было бы результатом для пользователя Aravinth и pavithrana –