#sql #vba #ms-access
#sql #vba #ms-access
Вопрос:
Я пытаюсь объединить данные собрания классов для большого набора классов на основе многоколоночной логики. Для каждого класса nbr (первый столбец) У меня может быть несколько записей y / n, соответствующих тому, встречается ли класс в этот день или нет. Мне нужно:
Имейте одну запись для каждой комбинации ClassNbr / DayOfWeek / MtgStart / MtgEnd .
Я использовал ConcatRelated()
функцию Брауна с большим эффектом, чтобы пройти часть пути, но я в тупике, как правильно выстроить столбцы y / n, и я в тупике, куда идти дальше. Это часть более крупной базы данных Access 2016, и она должна оставаться в ней. Мне удобно использовать VBA, если это необходимо.
Основная проблема:
Текущий против Ожидаемый результат в реальном мире:
Ответ №1:
Вы должны иметь возможность использовать функции агрегирования:
select col1, min(a) as a, min(b) as b, min(c) as c
from t
group by col1;
Поскольку MS Access хранит «Y» как -1, а «N» как 0, MIN()
эквивалентно OR
.
Комментарии:
1. Добавлю примечание для будущих пользователей:: Данные поступали в виде текста, поэтому мне пришлось использовать ряд функций IIF () в запросе, чтобы преобразовать их в правильное числовое значение, прежде чем продолжить, как указано выше. например:
IIf([a]="Y",-1,0)