Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объединение данных из двух таблиц через промежуточную таблицу с аналитикой
|
|||
|---|---|---|---|
|
#18+
Мне нужно объединить данные из разных источников. Есть основная таблица RES (id, code, title, ...). Есть "сырая" (необработанная) таблица из другого источника данных SRC (title, ...). Нужно добавить в RES отсутствующие данные SRC. Но критерии соответствия сложные, title могут совпадать, а могут и не совпадать. К таблице RES есть вспомогательная таблица ALIAS (id, title, start, stop), в которой для каждой записи RES.id приводится список возможных вариантов title. У каждого варианта есть срок действия, задаваемый периодом start...stop. Соответственно при объединении данных SRC.title нужно сравнивать не только с RES.title, но и с ALIAS.title. У меня получилось примерно так: Код: sql 1. 2. 3. 4. 5. 6. 7. В целом я получаю нужный результат. В теории альтернативные варианты должны быть уникальны и давать только одну строку. Но на самом деле по разным причинам возможно дублирование, и тогда для одной записи SRC может быть возвращено более одной строки соответствующей RES. В этом случае мне нужно взять тот RES.id, у которого соответствующий ALIAS.START наиболее поздний. То есть мне нужны аналитические функции. Но из документации никак не могу понять, как мне это сделать. Не поделитесь готовым примером для этой задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2017, 23:22 |
|
||
|
Объединение данных из двух таблиц через промежуточную таблицу с аналитикой
|
|||
|---|---|---|---|
|
#18+
Alibek B., ...в МУСКЛ нет аналитических функций, но есть т.н. переменные, которые по функционалу напоминают переменные цикла (курсова)... ...если взять (детерминировано-) отсортированому датасет, то "МУСКЛ переменые" можно задать до входа в "курсор", менять их значения на каждом рекорде и иметь значения на выходе. етими перемеными можно ссимулировать лаг/лид, роунамбер, ранк и денс_ранк, топ-Н в группах и даже слайдинг виндоу / ренже.... пример того что вам нужно -- посмотрите ФАК "выборки первой/последней записи в группах" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2017, 23:47 |
|
||
|
Объединение данных из двух таблиц через промежуточную таблицу с аналитикой
|
|||
|---|---|---|---|
|
#18+
...уточню... ....переменые и аналитически функции находятся в другом ФАК-е 7489069 ...однако вашу задачу (найти последнюю запись в групе) можно решить и без аналитике как показано в етом ФАК-е 7543220 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2017, 23:51 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=63&tid=1830245]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 142ms |

| 0 / 0 |
