Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 NULL вместо дублирующихся записей!!!  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
в СЕЛЕКТЕ Нужно возвращать клиенту NULL при избыточных данных. Слышал что есть какой-то оператор в SQL 2k (SP4) который может результат селекта:

aaa | 1 | 123
aaa | 2 | 234
bbb | 1 | 456
bbb | 1 | 567
bbb | 2 | 908

преобразовать в:

aaa | 1 | 123
NULL| 2 | 234
bbb | 1 | 456
NULL| NULL| 567
NULL| 2 | 908

?????????
27 июл 05, 17:05    [1740934]     Ответить | Цитировать Сообщить модератору
 Re: NULL вместо дублирующихся записей!!!  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
И где это вы слышали?
declare @a table (p int identity (1, 1) primary key, i char(3), j int, k int)
insert into @a (i, j, k) values ('aaa', 1, '123')
insert into @a (i, j, k) values ('aaa', 2, '234')
insert into @a (i, j, k) values ('bbb', 1, '456')
insert into @a (i, j, k) values ('bbb', 1, '567')
insert into @a (i, j, k) values ('bbb', 2, '908')

select t1.p, 
case when t1.p = (select top 1 t2.p from @a t2 where t2.i = t1.i order by t2.p) then t1.i else NULL end, j, k
from @a t1
27 июл 05, 17:26    [1741029]     Ответить | Цитировать Сообщить модератору
 Re: NULL вместо дублирующихся записей!!!  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
Ray D
И где это вы слышали?

мельком в инете видел. и делается это кажется стандартными средствами.

case и вложенные запросы - это все не то...
медленно выполняться будет при большом объеме и сложной структуре.

может модераторы что-нибудь подскажут?
27 июл 05, 17:33    [1741075]     Ответить | Цитировать Сообщить модератору
 Re: NULL вместо дублирующихся записей!!!  [new]
ChA
Member

Откуда: Москва
Сообщений: 11129
M0us
мельком в инете видел. и делается это кажется стандартными средствами.
Вы уверены, что речь шла о SQL 2k ?
27 июл 05, 17:47    [1741148]     Ответить | Цитировать Сообщить модератору
 Re: NULL вместо дублирующихся записей!!!  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
[quot ChAВы уверены, что речь шла о SQL 2k ?[/quot]
ДА!!!
27 июл 05, 17:54    [1741191]     Ответить | Цитировать Сообщить модератору
 Re: NULL вместо дублирующихся записей!!!  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
выборку во временную табличку
пробежаться курсором и при повторах значений заменять на нул
27 июл 05, 17:59    [1741219]     Ответить | Цитировать Сообщить модератору
 Re: NULL вместо дублирующихся записей!!!  [new]
ChA
Member

Откуда: Москва
Сообщений: 11129
M0us
ДА!!!
Что так кричать-то ? От этого убедительнее не станет. :) Осталось понять, что такое оператор, который может преобразовать результат селекта...
27 июл 05, 18:08    [1741266]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить