MS Access раскрывающийся столбец с помощью запроса - PullRequest
0 голосов
/ 06 января 2019

У меня есть следующая таблица в MS Access:

   ID | column1 | column2           | column3                
   ---+---------+-------------------+--------------
    1 | A       | Publishers        | Publishers
    2 | 01      | Commercial        |  
    3 | 02      | University Press  |  
    4 | B       | Place             | Place 
    5 | 01      | United States     |  
    6 | 04      | Western Europe    |  
    7 | 05      | Other             |  
    8 | C       | Language          | Language  
    9 | 01      | English           |  
   10 | 02      | French            |  

Ищу следующий результат

   ID |column1  | column2           | column3                
   ---+---------+-------------------+--------------
    1 | A       | Publishers        | Publishers
    2 | 01      | Commercial        | Publishers
    3 | 02      | University Press  | Publishers
    4 | B       | Place             | Place 
    5 | 01      | United States     | Place 
    6 | 04      | Western Europe    | Place 
    7 | 05      | Other             | Place 
    8 | C       | Language          | Language  
    9 | 01      | English           | Language  
   10 | 02      | French            | Language  

Так что, в основном, сносим столбец column3. Я пытался искать в сети и спрашивать других друзей с некоторыми знаниями MS доступа. Но на самом деле не удалось найти «выпадающий» запрос. Копирование / вставка будет недостаточным, так как это будет выполняться много раз в день и с гораздо большим набором данных. Можно ли это сделать без vba (ищите, как это сделать с помощью запроса)?

1 Ответ

0 голосов
/ 06 января 2019

Если у вас есть столбец, в котором указан порядок, вы можете сделать это с помощью коррелированного подзапроса:

select column1, column2,
       (select top (1) t2.column3
        from t as t2
        where t2.id <= t.id and
              t2.column3 is not null
        order by t2.id desc
       ) as column3
from t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...