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

Откуда:
Сообщений: 3
Здравствуйте! Есть ли возможность вывести запрос в SQL Server 2005, в котором могут выводится 3 результата, но чтобы они выводились не в одну строку, а таким образом, как показано во вложении?
select distinct top 3 predmet as pr1, predmet as pr2, predmet as pr3 
from abiturient a, ZajavlennyeShkolnyeOtsenki zso, NazvanijaPredmetov np, spetsialnosti s 
where a.kodspetsialnosti = s.kodspetsialnosti and zso.kodpredmeta = np.kodpredmeta and zso.kodabiturienta = a.kodabiturienta and (zso.otsenkaege not like '0' or zso.examen not like '0')


К сообщению приложен файл. Размер - 23Kb
29 июл 16, 09:34    [19470921]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
Mike_za
Member

Откуда: Москва
Сообщений: 1176
Mitka90,

Нет.
Скл это субд, а не репортер
29 июл 16, 10:08    [19471050]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Mitka90,

pivot судя по всему читайте
29 июл 16, 10:09    [19471059]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
Mike_za
Member

Откуда: Москва
Сообщений: 1176
Tа почему 2 и 3 строки во второй таблице пустые?
29 июл 16, 10:16    [19471102]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
и суть этого шаманства не ясна...
predmet as pr1, predmet as pr2, predmet as pr3 
29 июл 16, 10:16    [19471105]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
Mitka90
Member

Откуда:
Сообщений: 3
То есть, pivot может решить этот вопрос точно?

Строки в столбцах пустые для того, чтобы выводилось именно по 1 результату в каждый столбец.

Ну а pr1, pr2, pr3 нужны для вывода в rtf-отчёт через rs.getString(*).
29 июл 16, 10:24    [19471161]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Mitka90,

;WITH tab
AS
(
	SELECT *
	FROM (VALUES ('математика'),('язык'),('история')) a(x)	
)
SELECT 
	'математика','язык','история'
FROM 
(
	SELECT 
	x
	FROM tab
) as src
PIVOT
(
	MAX(x) 
	FOR x IN (['математика'],['язык'],['история'])
) as pvt
29 июл 16, 10:27    [19471185]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
3unknown
Member

Откуда: New York
Сообщений: 140
declare @t table(pr varchar(15))
insert @t VALUES ('математика'),('язык'),('история')	


SELECT
max(case pr when 'математика' then pr  end) as pr1
,max(case pr when 'язык' then pr  end) as pr2
,max(case pr when 'история' then pr  end) as pr3
from @t
29 июл 16, 12:17    [19471904]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
а что не так
Guest
TaPaK,
можно проще
SELECT 
	'математика','язык','история'
29 июл 16, 12:47    [19472121]     Ответить | Цитировать Сообщить модератору
 Re: Вывод результатов по одной строке в разных столбцах  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
а что не так,

конечно, можно и просто ручкой на бумажке написать
29 июл 16, 12:51    [19472162]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить