У меня есть веб-отчет, который должен возвращать несколько продуктов из разных регионов. Упрощенный запрос будет как:Как слить результат из вызова базы данных?
Select ProductName, ProductPrice
from Product
where Region in (Region1, Region2, Region 3)
В области выбирают пользователи из пользовательского интерфейса. Результат привязан к datagrid. Это могут быть несколько регионов. Но результат будет выглядеть так:
ProductName, ProductPrice [Region 1] ProductPrice [Region 2] ...
Prod1
Prod2
....
Продукты не такие же, как в том же регионе. В некоторых регионах некоторые могут быть пустыми. Для динамической привязки к сетке я использую DataTable, а затем динамически добавляю datacolumn для полей области. Самый простой способ - зацикливать результат, запрошенный каждой областью, затем слить продукт (1, 2, 3 ...) Он работает, но медленный, особенно для строк более 2K. Мне интересно, можно ли вообще избежать вложенного цикла.
Спасибо, КасперОн! Я не знаю, сколько регионов выбрано, поэтому мне нужно сделать «динамический» поворот? Мне также не нужно использовать функцию агрегации. Теперь я собираюсь создать динамический запрос, чтобы вернуть IDatarRader для Grid для привязки. –
@ Liang Wu: Вам нужно будет создать оператор динамически, да, но если вы это сделаете, он вернет нужный табличный набор. – casperOne