Для базы данных доступа, которая выглядит следующим образом: (Все текстовые поля)
Co1 Co2 Co3 Co4 A k t N1 B k t N2 A m t N3 B k z N4 A k z N5 C m t N6 C k z N7 C k t N8 A k t N9 C m t N10
Мне нужно создать какие-то отчеты, которые будут делать следующее:
В результатах необходимо выбрать строки:
- Сначала заказал Co1
- затем заказал Co2
- включать только данные, где Co3 = t или r
- когда Co3 НЕ является ни t, ни r, тогда все другие строки с предыдущим C04, где Co1 И Co2 были такими же, как текущая строка, также исключаются.
1,2 и 3 чрезвычайно легко сделать (предложение Order by и Where соответственно), но можно ли выполнить # 4 в доступе к SQL? Если это невозможно, я сделаю небольшое приложение C#, которое перебирает данные, но я чувствую, что это должно быть возможно сделать в SQL, и если это возможно, это определенно будет намного лучше.
Фактический запрос и база данных более сложны, но в № 4 я застрял.
В примере, который я привел, результат будет таким:
A m t N3 A k t N9 C m t N6 C m t N10 C k t N8
Я считаю, что это охватывает все возможные случаи.
Точность, мы используем четвертый столбец (C4 в этом примере) для определения порядка, но это текстовое поле с символами и цифрами. Поле представляет собой букву, за которой следуют 2 цифры: A01, A02,..A99, B01 и т. д. Точность № 2: я не виноват в дизайне этой базы данных. :П
Итак, гуру SQL среди нас: можно ли это сделать в Access SQL? Как?
Большое спасибо за любую помощь, которую вы можете предоставить.