Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как написать условие запроса. / 12 сообщений из 12, страница 1 из 1
23.10.2013, 11:10
    #38438005
Как написать условие запроса.
Как для всех ненулевых колонок проверить равенство их значений.

(NULL,2,2,NULL) = Да
(NULL,2,1,2,NULL) = Нет
...
Рейтинг: 0 / 0
23.10.2013, 11:14
    #38438012
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как написать условие запроса.
UNPIVOT
GROUP BY COUNT(DISTINCT f1) = COUNT(f1)
...
Рейтинг: 0 / 0
23.10.2013, 11:17
    #38438017
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как написать условие запроса.
ИнтересующийсяСКЛ, надо развернуть их в строки с одним столбцом и проверить MIN() = MAX()
...
Рейтинг: 0 / 0
23.10.2013, 11:17
    #38438019
Как написать условие запроса.
Glory, спасибо наверное так и сделаю :)
...
Рейтинг: 0 / 0
23.10.2013, 11:24
    #38438033
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как написать условие запроса.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
;with cte as
(
select null as f1, 2 as f2, 2 as f3, null as f4
union all 
select null as f1, 3 as f2, 2 as f3, null as f4
union all 
select null as f1, null as f2, null as f3, null as f4
)

select 
	case when isnull(f1, 0xFFFFFFFF) & isnull(f2, 0xFFFFFFFF) & isnull(f3, 0xFFFFFFFF) & isnull(f4, 0xFFFFFFFF) = isnull(f1,isnull(f2,isnull(f3,isnull(f4,null)))) then 1 else 0 end
from cte


Код: sql
1.
2.
3.
4.
-----------
1
0
0
...
Рейтинг: 0 / 0
23.10.2013, 11:34
    #38438057
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как написать условие запроса.
qwerty112
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
;with cte as
(
select null as f1, 2 as f2, 2 as f3, null as f4
union all 
select null as f1, 3 as f2, 2 as f3, null as f4
union all 
select null as f1, null as f2, null as f3, null as f4
)

select 
	case when isnull(f1, 0xFFFFFFFF) & isnull(f2, 0xFFFFFFFF) & isnull(f3, 0xFFFFFFFF) & isnull(f4, 0xFFFFFFFF) = isnull(f1,isnull(f2,isnull(f3,isnull(f4,null)))) then 1 else 0 end
from cte



извиняюсь, фигню написал
на таком
Код: sql
1.
select null as f1, 4 as f2, 4 as f3, 7 as f4


результат не правильный ... (
...
Рейтинг: 0 / 0
23.10.2013, 11:34
    #38438058
Как написать условие запроса.
2qwerty112, Классно! А где гарантия что f-итое не будет равно 0xFFFFFFFF ?
...
Рейтинг: 0 / 0
23.10.2013, 11:38
    #38438062
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как написать условие запроса.
вот, так, вроде правильно ...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
;with cte as
(
select null as f1, 4 as f2, 4 as f3, 7 as f4
union all 
select 2 as f1, 2 as f2, 2 as f3, null as f4
union all 
select null as f1, null as f2, null as f3, null as f4
)

select 
	case when 
		isnull(f1, 0) | isnull(f2, 0) | isnull(f3, 0) | isnull(f4, 0) = 
		isnull(f1, 0xFFFFFFFF) & isnull(f2, 0xFFFFFFFF) & isnull(f3, 0xFFFFFFFF) & isnull(f4, 0xFFFFFFFF) 
			then 1 else 0 
	end
from cte


Код: sql
1.
2.
3.
4.
-----------
0
1
0
...
Рейтинг: 0 / 0
23.10.2013, 11:59
    #38438105
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как написать условие запроса.
Для таблицы T с полями F1,F2,F2,....,Fn
Код: sql
1.
SELECT ISNULL((SELECT 'Да' FROM(VALUES(F1),(F2),(F2),....,(Fn)) T(F) HAVING COUNT(DISTINCT F)=1),'Нет') FROM T;
...
Рейтинг: 0 / 0
23.10.2013, 12:35
    #38438174
Как написать условие запроса.
Что такое T(F) таблицу я табличное что то ? Где про такое можно почитать ?
...
Рейтинг: 0 / 0
23.10.2013, 12:49
    #38438197
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как написать условие запроса.
ИнтересующийсяСКЛЧто такое T(F) таблицу я табличное что то ? Где про такое можно почитать ?T - алиас производной таблицы (конструктор значений VALUES() в данном случае).
F - алиас поля производной таблицы.
http://msdn.microsoft.com/ru-ru/library/ms177634(v=sql.100).aspx | derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ]
...
Рейтинг: 0 / 0
23.10.2013, 13:03
    #38438220
Как написать условие запроса.
О как :) Спасибо, iap !
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как написать условие запроса. / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]