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

Откуда: Москва
Сообщений: 4959
Сорри.
такой запрос

select  e_test_add from et_test
where e_test_add is not null
возвращает повторяющие значения, и это правильно, они там есть
А такой

select  ob_no,c_name from dbo.et_test 
where ob_no in
(select  e_test_add from et_test
where e_test_add is not null )
order by 1

Не выводит, почему такое?
Спасибо.
12 авг 05, 16:42    [1782817]     Ответить | Цитировать Сообщить модератору
 Re: почему не входят повторяющиеся записи?  [new]
vooo
Member

Откуда:
Сообщений: 1316
особенности конструкции IN ....
create table #test (id int)
insert into #test  values (2)
insert into #test  values (1)
insert into #test  values (2)
------
3 row affected

select * from master..spt_values where number in (select id from #test) and type='P'
-----
2 row affected
12 авг 05, 16:54    [1782857]     Ответить | Цитировать Сообщить модератору
 Re: почему не входят повторяющиеся записи?  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
select  ob_no, c_name
from et_test T1 inner join et_test T2 on T1.ob_no = T2.e_test_add
where T2. e_test_add is not null
12 авг 05, 16:55    [1782864]     Ответить | Цитировать Сообщить модератору
 Re: почему не входят повторяющиеся записи?  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 4959
Спасибо всем.
MVP ASP.NET
12 авг 05, 16:58    [1782874]     Ответить | Цитировать Сообщить модератору
 Re: почему не входят повторяющиеся записи?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31596
ЕвгенийВ
Сорри.
такой запрос

select  e_test_add from et_test
where e_test_add is not null
возвращает повторяющие значения, и это правильно, они там есть
А такой

select  ob_no,c_name from dbo.et_test 
where ob_no in
(select  e_test_add from et_test
where e_test_add is not null )
order by 1

Не выводит, почему такое?
Спасибо.

Почему результат будет одинаковый? Это разные запросы.
В них выводятся разные поля и условия разные.

Вот пример, тут никаких дубликатов не удаляется:
create table #test (id int)
insert into #test  values (2)
insert into #test  values (1)
insert into #test  values (2)

select  id
from #test
where id in
(select id from #test)
order by 1
12 авг 05, 17:54    [1783070]     Ответить | Цитировать Сообщить модератору
 Re: почему не входят повторяющиеся записи?  [new]
vooo
Member

Откуда:
Сообщений: 1316
Сорри за offtop
я не понял первоначально суть вопроса поэтому неправильно ответил
12 авг 05, 17:57    [1783085]     Ответить | Цитировать Сообщить модератору
 Re: почему не входят повторяющиеся записи?  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 4959
Так выводится все как надо.
declare @tmp table(fld int)
insert into @tmp
select  e_test_add from et_test
where e_test_add is not null

select ob_no,c_name from et_test t inner join @tmp tm on t.ob_no = tm.fld
order by 1
MVP ASP.NET
12 авг 05, 19:18    [1783272]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить