Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / запрос tsql в mssql / 21 сообщений из 21, страница 1 из 1
18.09.2019, 08:04
    #39863140
marmeladka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
Нужно вывести цены по прайс-листам в столбцах. Пробовала PIVOT но он не особо помог...
...
Рейтинг: 0 / 0
18.09.2019, 09:13
    #39863149
Megabyte
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
С такой постановкой задачи вам никого не поможет. Приведите пример нужного результата, как минимум.
...
Рейтинг: 0 / 0
18.09.2019, 10:04
    #39863167
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkaПробовала PIVOT но он не особо помог...на язык ? :)

marmeladka, чем дважды постить один и тот же вопрос не читая ответов,
ознакомься таки с Рекомендации по оформлению сообщений в форуме (особенно п.6)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
declare @t table (Pricelist varchar(50), Product varchar(50), Price money)

insert into @t values
('Regular','T-shirt',10),
('Regular','Pants',20),
('Exclusive','T-shirt',8)

select Product, Regular, Exclusive
from @t t
pivot (max(Price) for Pricelist in (Regular, Exclusive)) as pvt



ProductRegularExclusivePants20,00NULLT-shirt10,008,00
...
Рейтинг: 0 / 0
18.09.2019, 10:48
    #39863185
1C Developer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
Сейчас выясниться, что количество прайс-листов заранее неизвестно.
...
Рейтинг: 0 / 0
18.09.2019, 11:00
    #39863196
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
MegabyteС такой постановкой задачи вам никого не поможет. Приведите пример нужного результата, как минимум.

Но, заметьте, ТС и не просит помощи. Это просто заметка, чтобы не забыть что-то.
...
Рейтинг: 0 / 0
18.09.2019, 11:44
    #39863232
marmeladka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
court,
Язык Transact sql в mssql, в теме написано.
PIVOT не помог в плане того что он рассчитан на статическое кол-во столбцов. Мне просто нужно вывести Pricelist и Price т.е. (1 строка)Regular ->10->20->15 и т.д.
...
Рейтинг: 0 / 0
18.09.2019, 11:45
    #39863233
marmeladka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
1C Developer,

Воу, да тут у нас дитя индиго!
...
Рейтинг: 0 / 0
18.09.2019, 11:46
    #39863237
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkacourt,
Язык Transact sql в mssql, в теме написано.
PIVOT не помог в плане того что он рассчитан на статическое кол-во столбцов. Мне просто нужно вывести Pricelist и Price т.е. (1 строка)Regular ->10->20->15 и т.д.

четкость усиливается
...
Рейтинг: 0 / 0
18.09.2019, 11:53
    #39863244
1C Developer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkacourt,
Язык Transact sql в mssql, в теме написано.
PIVOT не помог в плане того что он рассчитан на статическое кол-во столбцов. Мне просто нужно вывести Pricelist и Price т.е. (1 строка)Regular ->10->20->15 и т.д.

Вас сложно понять, Вам нужен или динамический формируемый запрос или нарастающий итог (цены при этом собираются в строку), покажите результат картинкой или как.
...
Рейтинг: 0 / 0
18.09.2019, 11:56
    #39863245
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkaЯзык Transact sql в mssql, в теме написано.тут всё на Transact sql в mssql, потому как форум по mssql
Не тупи !
marmeladkaPIVOT не помог в плане того что он рассчитан на статическое кол-во столбцов.
Динамический СКЛ, тебе ещё в первой теме это посоветовали
...
Рейтинг: 0 / 0
18.09.2019, 11:58
    #39863248
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkacourt,
Язык Transact sql в mssql, в теме написано.
PIVOT не помог в плане того что он рассчитан на статическое кол-во столбцов. Мне просто нужно вывести Pricelist и Price т.е. (1 строка)Regular ->10->20->15 и т.д.

Да легко.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @t table (Pricelist varchar(50), Product varchar(50), Price money)

insert into @t values
('Regular','T-shirt',10),
('Regular','Pants',20),
('Exclusive','T-shirt',8)

select DISTINCT t.Pricelist + REPLACE((SELECT ' -> ' + CAST(t1.Price AS varchar(MAX)) AS 'data()' FROM @t t1 WHERE t1.Pricelist = t.Pricelist FOR XML PATH ('')), '>', '>')
from @t t
...
Рейтинг: 0 / 0
18.09.2019, 12:18
    #39863265
marmeladka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
Окей, другой вопрос. Помогите пожалуйста составить запрос выводящий "Price" в столбцах, где "price" и "Pricelist" динамические. Пример изображен на рисунке ниже. Так становится яснее?
...
Рейтинг: 0 / 0
18.09.2019, 12:19
    #39863267
marmeladka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
court,

Посоветовали, благо я хз как его применить... гугление не особо помогло
...
Рейтинг: 0 / 0
18.09.2019, 12:23
    #39863269
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
вы зря страдаете с этим на чистом sql, возьмите Excel в руки и делайте сводные таблицы как вам душе угодно, а вообще задача для конструктора отчётов BI (их много всяких)
...
Рейтинг: 0 / 0
18.09.2019, 12:26
    #39863271
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkacourt,

Посоветовали, благо я хз как его применить... гугление не особо помогло
Я выделил то, что вам предложили погуглить, выбрал пункт "Найти в Google", и первая же ссылка содержит даже уже готовую универсальную процедуру.

https://info-comp.ru/obucheniest/631-dynamic-pivot-in-t-sql.html

Можно ее не использовать, а разобраться, как оно работает, и написать свое решение.
...
Рейтинг: 0 / 0
18.09.2019, 12:28
    #39863272
marmeladka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
Konst_One,

Эти задания не я составляла и правила их решения придумывала тоже не я. Я могу сдать преподу Excel файл со словами "чет сложно, лови эксельку старый хрыщ", но тогда придется искать место на ярославке т.к. если меня отчислят то домой уже не пустят.
...
Рейтинг: 0 / 0
18.09.2019, 12:35
    #39863276
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkaKonst_One,

Эти задания не я составляла и правила их решения придумывала тоже не я. Я могу сдать преподу Excel файл со словами "чет сложно, лови эксельку старый хрыщ", но тогда придется искать место на ярославке т.к. если меня отчислят то домой уже не пустят.
т.е. учить не вариант?
...
Рейтинг: 0 / 0
18.09.2019, 12:36
    #39863277
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
TaPaKmarmeladkaKonst_One,

Эти задания не я составляла и правила их решения придумывала тоже не я. Я могу сдать преподу Excel файл со словами "чет сложно, лови эксельку старый хрыщ", но тогда придется искать место на ярославке т.к. если меня отчислят то домой уже не пустят.
т.е. учить не вариант?

если это задание на учёбу, то тогда конечно, стоит изучить и разобраться
...
Рейтинг: 0 / 0
18.09.2019, 12:41
    #39863278
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkaОкей, другой вопрос. Помогите пожалуйста составить запрос выводящий "Price" в столбцах, где "price" и "Pricelist" динамические. Пример изображен на рисунке ниже. Так становится яснее?

Код: sql
1.
2.
3.
select *
from @t t
pivot (SUM(Price) for Product in ([T-shirt], [Pants])) as pvt



если список продутов не известен, то рисуете динамику с подставлениев в IN вашего перечня
...
Рейтинг: 0 / 0
18.09.2019, 12:50
    #39863282
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkaKonst_One,

Эти задания не я составляла и правила их решения придумывала тоже не я. Я могу сдать преподу Excel файл со словами "чет сложно, лови эксельку старый хрыщ", но тогда придется искать место на ярославке т.к. если меня отчислят то домой уже не пустят.

тип того

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE TABLE dbo.t (Pricelist varchar(50), Product varchar(50), Price money)

insert into dbo.t values
('Regular','T-shirt',10),
('Regular','Pants',20),
('Exclusive','T-shirt',8)

DECLARE @prod varchar(8000) = '',
	@sql  varchar(8000) = ''
SELECT  @prod += ',[' + product + ']' FROM dbo.t GROUP BY product

SET @sql  = 
	'select * 
	from dbo.t 
	pivot (SUM(Price) for Product in (' + SUBSTRING(@prod,2,LEN(@prod)) + ')) as pvt'

EXEC (@sql)

DROP TABLE IF EXISTS dbo.T 



но лучше искать место на ярославке :)
...
Рейтинг: 0 / 0
18.09.2019, 15:05
    #39863363
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос tsql в mssql
marmeladkaKonst_One,

Эти задания не я составляла и правила их решения придумывала тоже не я. Я могу сдать преподу Excel файл со словами "чет сложно, лови эксельку старый хрыщ", но тогда придется искать место на ярославке т.к. если меня отчислят то домой уже не пустят.

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


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