Гость
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Аналогия с CASE для нескольких полей / 2 сообщений из 2, страница 1 из 1
27.08.2012, 12:35
    #37931563
Unknown_qweqwe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аналогия с CASE для нескольких полей
Ситуация следующая. Имеется несколько условий. По каждому из них необходимо вывести набор различных полей. Как лучше сделать, выполнив раз проверку условия, и вывести необходимые поля, чтобы не писать проверку для каждого поля через CASE, скажем. То есть, чтобы не выглядело так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT 
	CASE
		WHEN @a='1'
			THEN field1
	END
	CASE
		WHEN @a='1'
			THEN field2
	END
	CASE
		WHEN @a='2'
			THEN field3
	END
	CASE
		WHEN @a='2'
			THEN field4
	END
FROM table1
...
Рейтинг: 0 / 0
27.08.2012, 15:24
    #37931961
Mr.DKSoft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аналогия с CASE для нескольких полей
Не скажу про "тяжесть" запроса , но при условии что field1,field3 и field2,field4 одного типа
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select  F1,F2
 from
(select 1 as Why,
           Field1 as F1,
           Field2 as F2
  from table
UNION 
select 2 as Why,
           Field3 as F1,
           Field4 as F2
  from table
) T
where T.Why=1 


для 1-го условия
Код: sql
1.
where T.Why=2

для 2-го
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Аналогия с CASE для нескольких полей / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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