У меня есть следующие таблицы ниже
City
---------
CityID
StateID
Name
Description
Reports
---------
ReportID
HeaderID
FooterID
Description
Я пытаюсь сгенерировать сетку для использования в элементе управления .Net (Gridview, Listview… отдельный вопрос о том, какой из них будет «лучшим» дляиспользовать для моих целей), который назначит отчеты в виде столбцов, а города - в виде строк.
Какие города отображаются в зависимости от выбранного состояния, и это достаточно просто
SELECT * FROM CITIES WHERE STATEID=@StateID
Однако пользователь может выбрать, какие отчеты генерируются для каждого города (Демография, Продажи, Площадь земли и т. Д.).
Далее, результирующие ячейки (Город * Отчет) являются подзапросом к различным таблицам на основе выбранного города и отчета.
Т.е.Выбранный столбец «Продажи» дает
SELECT * FROM SALES WHERE CITYID=@CityID
Я запрограммировал ОЧЕНЬ не элегантное решение, используя несколько запросов и грубое создание сетки (построчно, построчно создание элементов данных), но я 'Я уверен, что должен быть лучший способ сделать это ...?Любые / все предложения, оцениваемые здесь как подход грубой силы, являются медленными и громоздкими ... и клиенту придется часто их использовать, поэтому я не уверен, что это будет приемлемо в его текущей реализации.