2013-08-09 2 views
0

У меня есть требование отображать значения строк в виде имен столбцов в виде сетки данных. Я хочу, чтобы имена хранилищ в столбцах использовались с помощью оператора select sql. (Пожалуйста, обратитесь к прилагаемому изображению). Я хочу, чтобы пользователь вводил некоторые значения под каждым столбцом. Итак, STORE 1, STORE 2, STORE 3 должны отображаться в виде столбцов в представлении datagrid. Кто-нибудь может помочь мне получить эту работу?Получить значения строк как имена столбцов в t-sql

enter image description here

в то время как я нашел прибегая к помощи это может быть сделано с помощью PIVOT в SQL. Но в этой таблице у меня нет никаких совокупных столбцов. Любая помощь PLS?

результат должен быть Somthing как enter image description here

+1

Это не совсем понятно, где все эти магические числа пришли, или то, что логика предназначается, чтобы быть –

ответ

1

Вы знаете, что ваши данные содержат только одну строку для каждого поворота колонны, но SQL Server должен построить план, который мог вместить несколько строк.

Итак, используйте PIVOT и просто используйте агрегат, который, если передано одно значение, вернет это же значение. MIN() исоответствуют этому описанию (как и SUM, если вы работаете с числовыми данными)

+0

могли бы вы дать мне пример запроса по этому поводу ? – Aruna

+0

@Aruna - Я не знаю, какому вашему ожидаемому результату приводятся данные вашего примера. Я не уверен, какие данные вы ожидаете появиться в столбцах 'STORE 1',' STORE 2'. –

+0

Есть записи, в которых есть счетчик предметов. Скажем, пункт 01 имеет 20 кол-во. Поэтому я хочу, чтобы пользователь распределил qty для магазинов. Набор записей будет выглядеть следующим образом: ItemCode | Кол-во | Магазин 1 | Магазин 2 | Магазин 3 | ... N | 001 | 20 | 10 | 10 002 | 15 | 5 | 5 | 5 | как мудрый – Aruna

0

Вы можете использовать определенную функцию динамического стержня и передать свой запрос столбцу счетчика элементов.

Вы можете использовать приведенную ниже ссылку, которая предоставила вам функцию и может легко показать ожидаемый результат.

http://forums.asp.net/t/1772644.aspx/1 

имя процедуры:

[dbo].[dynamic_pivot]