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

Откуда:
Сообщений: 20
Есть запрос допустим 2 столбца

Phonenum1 Phonenum2

2-35-77 2-99-99
3-33-33 3-33-33
5-55-55 4-00-00
........... .............

Нужно убрать те номера телефонов в PhoneNum1 которые присутствуют в PhoneNum2
т.е убрать номер 3-33-33 из PhoneNum1.
17 сен 11, 12:26    [11292138]     Ответить | Цитировать Сообщить модератору
 Re: Исключения в запросе  [new]
aleks2
Guest
Lesha1988
Нужно убрать те номера телефонов


1. Куды убрать?

2. Ежели просто исключить из выборки
select T.*
FROM
[Есть запрос допустим 2 столбца] T
LEFT OUTER JOIN
[Есть запрос допустим 2 столбца] TT
ON T.PhoneNum1 = TT.PhoneNum2
WHERE
TT.PhoneNum2 is null

3. Ежели ж все ишо тривиальнее, ну... как в вашем примере
select T.*
FROM
[Есть запрос допустим 2 столбца] T
WHERE
T.PhoneNum2<>T.PhoneNum1
17 сен 11, 12:32    [11292159]     Ответить | Цитировать Сообщить модератору
 Re: Исключения в запросе  [new]
Lesha1988
Member

Откуда:
Сообщений: 20
Phonenum1<>Phonenum2 не прокатит т.к одинаковые номера телефонов могут находиться не в одной строке
17 сен 11, 14:12    [11292392]     Ответить | Цитировать Сообщить модератору
 Re: Исключения в запросе  [new]
Nimua
Member

Откуда: Ростов-на-Дону
Сообщений: 344
Select *
FROM tbl
WHERE Phonenum1 NOT IN (SELECT Phonenum2 FROM tbl)
17 сен 11, 15:58    [11292746]     Ответить | Цитировать Сообщить модератору
 Re: Исключения в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Nimua
Select *
FROM tbl
WHERE Phonenum1 NOT IN (SELECT Phonenum2 FROM tbl)
А для таких данных?
Phonenum1Phonenum2
2-35-772-99-99
3-33-333-33-33
5-55-554-00-00
6-66-66NULL
17 сен 11, 16:39    [11292849]     Ответить | Цитировать Сообщить модератору
 Re: Исключения в запросе  [new]
Nimua
Member

Откуда: Ростов-на-Дону
Сообщений: 344
iap,

Select *
FROM #tbl
WHERE Phonenum1 NOT IN (SELECT Phonenum2 FROM #tbl where Phonenum2 IS NOT NULL)

спасибо :)
17 сен 11, 17:11    [11292925]     Ответить | Цитировать Сообщить модератору
 Re: Исключения в запросе  [new]
Nimua
Member

Откуда: Ростов-на-Дону
Сообщений: 344
еще вариант


Select *
FROM #tbl as tbl1
WHERE not exists (SELECT 1 FROM #tbl as tbl2 where tbl2.Phonenum2 = tbl1.Phonenum1)
17 сен 11, 17:13    [11292927]     Ответить | Цитировать Сообщить модератору
 Re: Исключения в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Nimua
еще вариант


Select *
FROM #tbl as tbl1
WHERE not exists (SELECT 1 FROM #tbl as tbl2 where tbl2.Phonenum2 = tbl1.Phonenum1)
Вот так и надо всегда писать.
Без всяких там NOT IN :))
17 сен 11, 17:18    [11292931]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить