Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как данные строки сделать столбцом / 12 сообщений из 12, страница 1 из 1
06.06.2018, 13:06
    #39656407
Васелина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
Есть запрос
select dse ,data,sum(kl ) from plan group by data,dse

Нужно чтобы данные поля даты стали столбцами.
должна получиться таблица

DSE '10.01.208' '11.01.2018' '12.01.2018'

R1
...
Рейтинг: 0 / 0
06.06.2018, 13:07
    #39656409
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
pivot
...
Рейтинг: 0 / 0
06.06.2018, 13:08
    #39656411
Васелина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
Есть запрос
select dse ,data,sum(kl ) from plan where data between @d1 and @d2 group by data,dse

Нужно чтобы данные поля даты стали столбцами.
должна получиться таблица

DSE '10.01.208' '11.01.2018' '12.01.2018'

R1 5 10 20
R2 10 5 21

Модератор: Зачем так много тем? http://www.sql.ru/forum/1295293/kak-dannye-stroki-sdelat-stolbcom
...
Рейтинг: 0 / 0
06.06.2018, 13:13
    #39656424
zby
zby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
Васелина,

pivot
...
Рейтинг: 0 / 0
06.06.2018, 13:16
    #39656428
Васелина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
Я не знаю какие значения может принимать поле data
...
Рейтинг: 0 / 0
06.06.2018, 13:22
    #39656436
Васелина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
все значения дат я могу получить запросом select data from plan group by data , а как эти значения вставить в запрос.
...
Рейтинг: 0 / 0
06.06.2018, 13:24
    #39656440
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
ВаселинаЯ не знаю какие значения может принимать поле data
Классическая русская задача: пойди туда не знаю куда, принеси то, не знаю что.

ЗЫ. Ну, потренируйтесь в динамических запросах.
Только нахена может понадобиться табличка с неизвестными полями и размерами?
...
Рейтинг: 0 / 0
06.06.2018, 13:50
    #39656474
zby
zby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
Васелина,

динамический pivot
...
Рейтинг: 0 / 0
06.06.2018, 16:09
    #39656635
Васелина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
zby,

Спасибо
...
Рейтинг: 0 / 0
06.06.2018, 16:38
    #39656668
Penner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
CREATE FUNCTION [dbo].[str2row]	(
	@RowData NVARCHAR(MAX)
	,@SplitOn NVARCHAR(5) )
RETURNS @ReturnValue TABLE ( Data NVARCHAR(MAX) )
AS
BEGIN
	DECLARE	@Counter INT           = 1
		,@MyData     NVARCHAR(MAX)

	IF NOT (@SplitOn = CHAR(13) + CHAR(10) OR @SplitOn = CHAR(13) OR @SplitOn = CHAR(10))
	BEGIN
		SET @RowData = REPLACE(@RowData, CHAR(13), '');
		SET @RowData = REPLACE(@RowData, CHAR(10), '');
	END
	ELSE
		IF @SplitOn = CHAR(10)
			SET @RowData = REPLACE(@RowData, CHAR(13), '');
		ELSE
			IF @SplitOn = CHAR(13)
				SET @RowData = REPLACE(@RowData, CHAR(10), '');

	IF LTRIM(RTRIM(@RowData)) <> ''
	BEGIN
		WHILE (Charindex(@SplitOn, @RowData) > 0)
		BEGIN
			SET @MyData = LTRIM(RTRIM(Substring(@RowData, 1, PATINDEX('%' + @SplitOn + '%', @RowData) - 1)))
			/* ' Entfernen */
			IF LEFT(@MyData, 1)='''' AND RIGHT(@MyData, 1)=''''
			BEGIN
				SET @MyData = Substring(@MyData, 2, LEN(@MyData) - 2)
			END

			IF LTRIM(@MyData) <> ''
				INSERT INTO @ReturnValue ( data )
				SELECT	Data = @MyData;

			SET @RowData = Substring(@RowData, PATINDEX('%' + @SplitOn + '%', @RowData) + LEN(@SplitOn) , LEN(@RowData))

			SET @Counter += 1
		END

		SET @MyData = LTRIM(RTRIM(@RowData))

		IF LEFT(@MyData, 1)='''' AND RIGHT(@MyData, 1)=''''
		BEGIN
			SET @MyData = Substring(@MyData, 2, LEN(@MyData) - 2)
		END

		IF LTRIM(@MyData) <> ''
			INSERT INTO @ReturnValue ( data )
			SELECT	Data = @MyData;
	END

	RETURN
END

...
Рейтинг: 0 / 0
06.06.2018, 16:45
    #39656681
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
Penner, зачем вы притащили ваше (или чьете еще) не относящееся к делу, но, несомненно, ужасное творение?
...
Рейтинг: 0 / 0
06.06.2018, 17:59
    #39656779
iiyama
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как данные строки сделать столбцом
Васелина,

Excel-> Сводная таблица->Profit
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как данные строки сделать столбцом / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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