Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как развернуть строку в столбец при условиии / 12 сообщений из 12, страница 1 из 1
09.07.2018, 11:23
    #39671501
Romanov-krd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
есть данные в табл на рис.

при условии что glhip_app_id и elhyp_app_id is not null выводить необходимо

CFO_ID hyp_app
18332 40
18332 30

иначе только данные где нет null значения

Код: sql
1.
select cfo_id, glhip_app_id,elhyp_app_id from table 1 
...
Рейтинг: 0 / 0
09.07.2018, 11:28
    #39671503
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
Romanov-krd,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
WITH x(CFO_ID, glhip_app_id,elhyp_app_id ) AS (SELECT 18332, 40, 30)

SELECT x.CFO_ID, y.hyp_app
FROM x
CROSS APPLY 
(
	SELECT 	x.glhip_app_id
	UNION ALL
	SELECT 	x.elhyp_app_id	
) y (hyp_app)
WHERE 
	x.glhip_app_id IS NOT NULL	AND		
	x.elhyp_app_id IS NOT NULL	


можно и просто cross на 2 значения
...
Рейтинг: 0 / 0
09.07.2018, 11:36
    #39671511
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
Romanov-krd,

Код: sql
1.
2.
3.
4.
 select cfo_id,hyp_app
   from table1 
unpivot (hyp_app for app_id in (glhip_app_id,elhyp_app_id)) u
  where hyp_app is not null 
...
Рейтинг: 0 / 0
09.07.2018, 16:06
    #39671685
Romanov-krd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
TaPaK,

А что можно сделать если к примеру в столбцах много значений и данные из нескольких таблиц джойнятся.
К примеру проверяю по 1 cfo_id нормально работает, если по двум то уже получается 18 записей
...
Рейтинг: 0 / 0
09.07.2018, 16:21
    #39671689
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
Romanov-krd,
для начала, вы путаете cross join с cross apply
...
Рейтинг: 0 / 0
10.07.2018, 08:16
    #39671886
Romanov-krd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
Посетитель,
я запросы пишу в teradata там нет cross apply
...
Рейтинг: 0 / 0
10.07.2018, 08:28
    #39671888
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
Romanov-krd,

...и по вашей логике получается, если задавать вопросы по teradata на форуме MS, то можно заменять несуществующие операторы на схожие по звучанию безотносительно их функциональности?


ЗЫ. посмотрите решение с unpivot, в гугле пишут, он хотя бы есть в teradata, правда

GoogleTeradata supports UNPIVOT in TD16, but the syntax it's closer to Oracle than to SQL Server.
...
Рейтинг: 0 / 0
10.07.2018, 09:24
    #39671900
Kopelly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
WITH x(CFO_ID, glhip_app_id,elhyp_app_id ) AS (SELECT 18332, 40, 30)

SELECT x.CFO_ID, 
case y.hyp_app When 1 Then x.glhip_app_id Else x.elhyp_app_id End 
FROM x
CROSS APPLY 
(
	SELECT 	1 as hyp_app
	UNION ALL
	SELECT 	0 
) y
WHERE 
	x.glhip_app_id IS NOT NULL	AND		
	x.elhyp_app_id IS NOT NULL	
...
Рейтинг: 0 / 0
10.07.2018, 09:25
    #39671901
Kopelly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
Cross Join вместо Cross Apply
...
Рейтинг: 0 / 0
10.07.2018, 09:32
    #39671904
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
Kopelly,

та хоть просто INNER JOIN :)
...
Рейтинг: 0 / 0
10.07.2018, 09:33
    #39671905
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
TaPaK,

on 1=1?

или в этой ихней терадате можно inner join без условий делать?
...
Рейтинг: 0 / 0
10.07.2018, 09:34
    #39671906
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как развернуть строку в столбец при условиии
ПосетительTaPaK,

on 1=1?

или в этой ихней терадате можно inner join без условий делать?
2=2
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как развернуть строку в столбец при условиии / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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