-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Обратный перекрестный запрос

Четверг, 09 Апреля 2015 г. 16:02 + в цитатник
Коллеги, прошу помочь вот с такой задачей.

1. Есть матрица по миграции населения между двумя странами - простая таблица вида

from/to | страна1 | страна2 | страна3
страна1 | данные данные данные
страна2 | данные данные данные
страна3 | данные данные данные

2. Нужно получить таблицу вида

from | to | мигранты
страна1 | страна2 | 123
страна1 | страна3 | 456
страна2 | страна1 | 789

и т.д.

В моем понимании, первый вид - это, фактически, результат выполнения перекрестного запроса, от котор0го нужно перейти к нормализованной таблице. Думаю, что решение задачи сводится к написанию запроса на выборку из двух таблиц - собственно основной таблицы и ее транспонированной копии.

Вот как я вижу первый этап решения задачи: создаем в БД две таблицы From (наша исходная) и To (путем транспонирования).
Это выглядит так (ст - страны, данные в таблице - условное кол-во мигрантов:

From
ст|b1|b2|
a1|1 |2 |
a2|3 |4 |

To (транспонированная From)
ст|a1|a2|
b1|1 |3 |
b2|2 |4 |

А запрос должен выводить

a1|b1|1|
a1|b2|2|
a2|b1|3|
a2|b2|4|

Собственно, на запросе я застрял.

Пример БД с подготовленными таблицами From и To прилагаю.

п.с. вот на этой ветке форума - http://www.sql.ru/forum/1151118/umnozhenie-matriy-ili-poisk-alternativnogo-resheniya-problemy# я уже пробовал найти решение, но там пока тишина.
_______________________
sharp data on #datablog
http://uadata.blogspot.com

http://www.sql.ru/forum/1151417/obratnyy-perekrestnyy-zapros


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку