Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: как лучше объединитъ три таблицы и отсортировать ? Добавлено: 11.01.06 18:39  

Автор вопроса:  student-uni
Естъ три таблицы с абсолютно разными полями.
Одинаковые поля лишь 1-ое Индекс и 2-ое Имя
Осталъные абсолютно разные причем и число и типы полеи разные.

Нужно составить из них одну таблицу так чтобы
1 и 2 поля были "подклеены" один под другим,
(все 1-Индекса в первом столбце все 2-Имена во втором)
А вот под осталъные выделялся отдельныи столбец.

Плюс отсортировать потом по имени

Пример дано

Таблица 1
1, Имя1, Параметр1, Параметр2

Таблица 2
1, Имя2, Параметр3, Параметр4, Параметр5

Таблица 3
1, Имя3, Параметр1, Параметр6

Результирующая таблица должна выглядеть так

1, Имя3, Параметр1, Параметр6
1, Имя2, Параметр3, Параметр4, Параметр5
1, Имя1, Параметр1, Параметр2



Я использовал для етои цели двумерный массив
1. Скачал таб1 в датасет
2. Определил размеры - число строк/столбцов

3. Скачал таб2 в датасет
4. Определил размеры - число строк/столбцов

5. Скачал таб3 в датасет
6. Определил размеры - число строк/столбцов

Обьявил двум массив размера (сумма строк, наибольшее число столбцов)

Пробежал каждыи датасет и залил данные в массив /дополняя каждыи раз/

Сохранил данные в базу данных

Вызвал запросом с сортировкои.


Вопросы:
Может кто подскажет более елегантное решение проблемы
1. обьединения таблиц
2. сортировки /как сохранить в отсортированном виде !!/
3. я могу оперировать только числами, если в одном из полеи текст - ето не работает.

Спасибо всем

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 11.01.06 19:11
Можно использовать SQL-конструкцию UNION, но при этом ипы данных в
соответствующих столбцах (которые объеиняются в один) должны совпадать.

Ответить

Номер ответа: 2
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #2 Добавлено: 11.01.06 19:14
Не то чтобы совпадать, а быть неявно приводимыми...

Ответить

Номер ответа: 3
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #3 Добавлено: 11.01.06 19:28
1. При неравном числе колонок ето не работает, но океи, с помошю дополнительного запроса можно уравнятЬ

Ответить

Номер ответа: 4
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 11.01.06 19:36
Для уравнивания можно сделать финт ушами:

SELECT Field1 AS f1, Field2 AS f2, Field3 AS f3 FROM Table1
UNION ALL
SELECT Field1 AS f1, NULL AS f2, NULL AS f3 From Table 2
ORDER BY f1 ASC, f2 ASC

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам