Очень жаль, если на это был дан ответ в некотором роде. Я все проверил и не могу понять.Сравнение двух наборов данных
Мне нужно найти способ в postgresql для сравнения данных из недели в неделю. Все данные существуют в одной таблице и имеют столбец Число недели. Данные не всегда полностью перекрываются, но мне нужно сравнивать данные внутри групп, когда они это делают.
Скажем, эти наборы данных:
Week 2
+--------+--------+------+---------+-------+
| group | num | color| ID | week #|
+--------+--------+------+---------+-------+
| a | 1 | red | a1red | 2 |
| a | 2 | blue | a2blue | 2 |
| b | 3 | blue | b3blue | 2 |
| c | 7 | black| c7black | 2 |
| d | 8 | black| d8black | 2 |
| d | 9 | red | d9red | 2 |
| d | 10 | gray | d10gray | 2 |
+--------+--------+------+---------+-------+
Week 3
+--------+--------+------+---------+-------+
| group | num | color| ID | week #|
+--------+--------+------+---------+-------+
| a | 1 | red | a1red | 3 |
| a | 2 | green| a2green | 3 |
| b | 3 | blue | b3blue | 3 |
| b | 5 | green| b5green | 3 |
| c | 7 | black| c7black | 3 |
| e | 11 | blue | d11blue | 3 |
| e | 12 | other| d12other| 3 |
| e | 14 | brown| d14brown| 3 |
+--------+--------+------+---------+-------+
Каждая строка имеет идентификатор, сделанный из группы значений, количество и цвет.
мне нужен запрос, чтобы захватить все группы из 3 недели, а затем для всех групп в 3 недели, которые существуют в 2 недели:
- флаг идентификаторы в пределах группы, которые изменились, как и в группе А.
- флаг, если были добавлены или удалены любые идентификаторы в группе, как и в группе В.
Одна из функций, которые было бы неплохо иметь, но не является обязательным, будет иметь Неделя 3 сравниваться неделя 1 для групп, которых нет в Неделе 2.
Я думал о попытке разделить две недели и использовать перехват/за исключением получения результатов, но я не могу полностью окутать голову, как я могу заставить это работать правильно. Любые советы будут высоко оценены.
Где номер недели, скрытые в этой таблице? –
Его просто еще одна колонка. Обновлена таблица, чтобы прояснить это. – Jakewb89