powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как развернуть строку в столбец при условиии
12 сообщений из 12, страница 1 из 1
как развернуть строку в столбец при условиии
    #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
как развернуть строку в столбец при условиии
    #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
как развернуть строку в столбец при условиии
    #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
как развернуть строку в столбец при условиии
    #39671685
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

А что можно сделать если к примеру в столбцах много значений и данные из нескольких таблиц джойнятся.
К примеру проверяю по 1 cfo_id нормально работает, если по двум то уже получается 18 записей
...
Рейтинг: 0 / 0
как развернуть строку в столбец при условиии
    #39671689
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romanov-krd,
для начала, вы путаете cross join с cross apply
...
Рейтинг: 0 / 0
как развернуть строку в столбец при условиии
    #39671886
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посетитель,
я запросы пишу в teradata там нет cross apply
...
Рейтинг: 0 / 0
как развернуть строку в столбец при условиии
    #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
как развернуть строку в столбец при условиии
    #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
как развернуть строку в столбец при условиии
    #39671901
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cross Join вместо Cross Apply
...
Рейтинг: 0 / 0
как развернуть строку в столбец при условиии
    #39671904
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kopelly,

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

on 1=1?

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

on 1=1?

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


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