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

Откуда:
Сообщений: 45
create table #t (userid int, productid int)
insert into #t values (1,1)
insert into #t values (1,2)
insert into #t values (1,3)
insert into #t values (2,1)

Люди, подскажите, plz!
Мне нужно вывести userid у которой поле productid = 1 AND productid = 2 AND productid = 3. Можно ли это сделать без использования UNION?

Заранее благодарен.
15 дек 04, 19:22    [1183959]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли обойтись без UNION?  [new]
FDD
Guest
Условие productid = 1 AND productid = 2 AND productid = 3 никогда не выполнится.
15 дек 04, 19:24    [1183963]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли обойтись без UNION?  [new]
lebedkin
Member

Откуда:
Сообщений: 45
Да нет же, через два UNION это можно сделать в вышеуказанном примере; хотя я уже понял как это можно сделать и через два JOIN...

Спасибо, за беспокойство.
15 дек 04, 19:42    [1183979]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли обойтись без UNION?  [new]
Breakneck
Member

Откуда: Kiev
Сообщений: 2454
Да нет же, через два UNION это можно сделать в вышеуказанном примере; хотя я уже понял как это можно сделать и через два JOIN...

поле productid = 1 AND productid = 2 AND productid = 3


Интересно, как это у Вас получится...
select * from #t where 1 = 2 And 1= 3 And 2=3

Вам нужно все-таки вывести по условию ИЛИ?
15 дек 04, 20:13    [1184006]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли обойтись без UNION?  [new]
Glory
Member

Откуда:
Сообщений: 104760
select userid
 from #t
group by userid having sum(distinct case when productid IN(1,2,3) then productid end) = 6
15 дек 04, 23:27    [1184161]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить