Страница: 1 |
Страница: 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-сайт:
Профиль | | #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-сайт:
Профиль | | #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