Слияние datacolumns из массива datatable с данными
У меня есть массив данных,
DataSet ds = // I gather data from a datasource
Я инициализировать
DataTable[]
от ДС.ТаблицыDataTable[] tableArray = ds.Tables.Cast<DataTable>();
Все эти таблицы содержат одну строку данных
Теперь возможен ли альтернативный подход к тому, что я сделал, - объединить столбцы этих таблиц данных, а также поместить данные в столбцы по мере необходимости ?
Пример Данных
Пусть мой
DataSet ds
есть 2 таблицы dtA
и dtB
Ввод
ДТА
Col1 A
Col2 B
dtB
Кол3 С
Col4 D
Выход
dtMerged
Col1 A
Col2 B
Кол3 С
Col4 D
Что я уже пробовал:
Я запустил простой
foreach
петля на столбцах и rows
чтобы сформировать большую базу данных.Также,
DataTable bigTable = new DataTable(); Enumerable.Range(0, ds.Tables.Count).ToList().ForEach(i => bigTable.Merge(ds.Tables[i])); DataTable bigTable2 = bigTable.Clone(); DataRow[] rowCollection = bigTable.Rows.Cast<DataRow>().ToArray(); DataRow newDR = bigTable2.NewRow(); Enumerable.Range(0, bigTable.Columns.Count).ToList().ForEach(j => { newDR[bigTable.Columns[j].ColumnName] = rowCollection.Select(dr => dr[j].ToString()).Last(s => !string.IsNullOrWhiteSpace(s)); });
Примечание: у меня есть причины, чтобы не выполнять сложные запросы и выборки одного объекта DataTable.
Maciej Los
Извините, но в каждой таблице есть одна строка данных? Почему?
Является ли структура каждой отдельной таблицы одинаковой?
Что вы имеете в виду, говоря "слияние"? Вы хотите создать только одну таблицу и" переместить " в нее все данные (поступающие из существующих таблиц)?
Покажите нам пример данных.
Subhasis Chakraborty
Я добавил пример ввода и вывода.
Maciej Los
Хорошо, я вижу структуру таблиц, но нет никаких примеров данных. Основываясь на предоставленной Вами информации - я понятия не имею, какие отношения существуют между таблицами... Вы, вероятно, хотите присоединиться к данным. Как я уже упоминал, вы должны предоставить примерные данные.
CHill60
"У меня есть причины не выполнять сложный одиночный запрос и не извлекать единственную базу данных". Они наверняка будут малоизвестны.
Subhasis Chakraborty
У меня нет прав на создание / добавление новых представлений в sql server.
CHill60
Тогда не создавайте представление. Как вы запрашиваете все эти отдельные таблицы?