мне нужно сетки данных в моем UI следующего видаMSSQL запроса для извлечения данных из БД
| Col1 | Col2 | Col3 | Col4 |
--------------------------------------
| | | | |
Row1 | 10 | 20 | 30 | 40 |
| | | | |
Row2 | 50 | 60 | 70 | 80 |
| | | | |
Row3 | 90 | 100 | 110 | 120 |
| | | | |
Row4 | 130 | 140 | 150 | 160 |
Схема вышеуказанного DataGrid хранится в БД, как
Таблица T1
ID | Description | DimensionType
-------------------------------------------
101 | Row1 | 1
102 | Row2 | 1
103 | Row3 | 1
104 | Row4 | 1
105 | Col1 | 2
106 | Col2 | 2
107 | Col3 | 2
108 | Col4 | 2
В приведенной выше таблице DimensionType
обозначает, является ли описание строкой или столбцом. DimensionType = 1
средства row
и DimensionType = 2
средства column
.
Значения, хранящиеся в БД являются
Таблица T2
ID | T1R | T1C | Value
----------------------------------
1001 | 101 | 105 | 10
1002 | 101 | 106 | 20
1003 | 101 | 107 | 30
1004 | 101 | 108 | 40
1005 | 102 | 105 | 50
1006 | 102 | 106 | 60
1007 | 102 | 107 | 70
1008 | 102 | 108 | 80
.
.
.
an so on.
Я хотел бы получить данные в следующем виде.
Row | C1 | Value | C2 | Value | C3 | Value | C4 | Value |
--------------------------------------------------------------------------------------------
| | | | | | | | |
Row1 | Col1 | 10 | Col2 | 20 | Col3 | 30 | Col4 | 40 |
Row2 | Col1 | 50 | Col2 | 60 | Col3 | 70 | Col4 | 80 |
Row3 | Col1 | 90 | Col2 | 100 | Col3 | 110 | Col4 | 120 |
Row4 | Col1 | 130 | Col2 | 140 | Col3 | 150 | Col4 | 160 |
| | | | | | | | |
Необходимо написать запрос, который может печатать данные в вышеуказанном формате (в MSSQL). Если поиск может быть дополнительно оптимизирована было бы еще более полезным, то есть, в виде
Row | Col1 | Col2 | Col3 | Col4 |
--------------------------------------------------
| | | | |
Row1 | 10 | 20 | 30 | 40 |
Row2 | 50 | 60 | 70 | 80 |
Row3 | 90 | 100 | 110 | 120 |
Row4 | 130 | 140 | 150 | 160 |
| | | | |
Спасибо заранее !!
Будет ли только когда-либо восемь столбцов или столбцы могут увеличиваться на неопределенный срок? Это просто проблема с кросс-таблицей, и это обычно лучше всего решать в пользовательском интерфейсе, а не в базе данных. –
no может быть любое количество столбцов ... и отображение в пользовательском интерфейсе еще не сделано ... Результат пользовательского интерфейса должен быть достигнут с помощью двух таблиц. – SohamC
Я не вижу связи между 'Row1' и' Col1'. Я думаю, что дизайн T2 не прав. Вместо этого это должно быть: 'ID | T1IDRow | T1IDCol | Value' или что-то вроде этого. – valex