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

Откуда: Киев
Сообщений: 558
Есть таблицы:
T1(ID, SomeField)
T2(ID, T3ID)
T3(ID, SomeField)

Реально ли написать запрос ниже без использования UNION?
SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T3 ON T1.ID = T3.ID WHERE T1.SomeField = @SomeValue
UNION
SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T2 ON T1.ID = T2.ID INNER JOIN T3 ON T2.T3ID = T3.ID WHERE T1.SomeField = @SomeValue
27 сен 11, 21:32    [11344997]     Ответить | Цитировать Сообщить модератору
 Re: сумма множеств без UNION  [new]
qwerty112
Guest
Bogdan1024
Есть таблицы:
T1(ID, SomeField)
T2(ID, T3ID)
T3(ID, SomeField)

Реально ли написать запрос ниже без использования UNION?
SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T3 ON T1.ID = T3.ID WHERE T1.SomeField = @SomeValue
UNION
SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T2 ON T1.ID = T2.ID INNER JOIN T3 ON T2.T3ID = T3.ID WHERE T1.SomeField = @SomeValue

оборжака !! :))
этот запрос - без UNION ? точна - этот ??
нате
SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T3 ON T1.ID = T3.ID WHERE T1.SomeField = @SomeValue
или, что б наверняка :)
SELECT distinct T1.ID, T3.SomeField FROM T1 INNER JOIN T3 ON T1.ID = T3.ID WHERE T1.SomeField = @SomeValue
27 сен 11, 21:55    [11345088]     Ответить | Цитировать Сообщить модератору
 Re: сумма множеств без UNION  [new]
qwerty112
Guest
Bogdan1024
Есть таблицы:
T1(ID, SomeField)
T2(ID, T3ID)
T3(ID, SomeField)

Реально ли написать запрос ниже без использования UNION?
SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T3 ON T1.ID = T3.ID WHERE T1.SomeField = @SomeValue
UNION
SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T2 ON T1.ID = T2.ID INNER JOIN T3 ON T2.T3ID = T3.ID WHERE T1.SomeField = @SomeValue

...ааа...
select distinct isnull(a.id,b.id), isnull(a.SomeField,b.SomeField)
from

(SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T3 ON T1.ID = T3.ID WHERE T1.SomeField = @SomeValue) a
full join
(SELECT T1.ID, T3.SomeField FROM T1 INNER JOIN T2 ON T1.ID = T2.ID INNER JOIN T3 ON T2.T3ID = T3.ID WHERE T1.SomeField = @SomeValue) b

on a.id=b.id and a.SomeField=b.SomeField 

только проблемка будет если T3.SomeField может быть нулл...
27 сен 11, 22:10    [11345146]     Ответить | Цитировать Сообщить модератору
 Re: сумма множеств без UNION  [new]
iljy
Member

Откуда:
Сообщений: 8711
Bogdan1024,

SELECT DSISTINCT T1.ID, T3.SomeField FROM T1 
LEFT JOIN T2 ON T1.ID = T2.ID INNER JOIN T3 ON T3.ID IN (T2.T3ID, T1.ID)
WHERE T1.SomeField = @SomeValue
А нафига собственно? Че-то последнее время такая ненависть к UNION в массах пробудилась...
27 сен 11, 22:37    [11345216]     Ответить | Цитировать Сообщить модератору
 Re: сумма множеств без UNION  [new]
Bogdan1024
Member

Откуда: Киев
Сообщений: 558
iljy
А нафига собственно? Че-то последнее время такая ненависть к UNION в массах пробудилась...
Долго объяснять, но вкратцэ: если можно без юнион, то я возможно смогу сделать этот запрос через наше ORM.
28 сен 11, 11:20    [11346658]     Ответить | Цитировать Сообщить модератору
 Re: сумма множеств без UNION  [new]
iljy
Member

Откуда:
Сообщений: 8711
Bogdan1024
iljy
А нафига собственно? Че-то последнее время такая ненависть к UNION в массах пробудилась...
Долго объяснять, но вкратцэ: если можно без юнион, то я возможно смогу сделать этот запрос через наше ORM.

ужоснах...
28 сен 11, 12:22    [11347154]     Ответить | Цитировать Сообщить модератору
 Re: сумма множеств без UNION  [new]
angel_zar
Member

Откуда: Барнаул
Сообщений: 902
Bogdan1024
iljy
А нафига собственно? Че-то последнее время такая ненависть к UNION в массах пробудилась...
Долго объяснять, но вкратцэ: если можно без юнион, то я возможно смогу сделать этот запрос через наше ORM.


Сделайте Вюшку и оттуда выбирайте.
28 сен 11, 12:59    [11347530]     Ответить | Цитировать Сообщить модератору
 Re: сумма множеств без UNION  [new]
Bogdan1024
Member

Откуда: Киев
Сообщений: 558
Спасибо за советы, но пока что все варианты мне не подходят :) .
28 сен 11, 13:08    [11347600]     Ответить | Цитировать Сообщить модератору
 Re: сумма множеств без UNION  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
Bogdan1024,

А ваша ОРМ хавает курсоры ?
28 сен 11, 17:07    [11350058]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить