Вот скрипт sql, который работает на сервере MS SQL:
create table #T (Project varchar(50),Asset varchar(50), OrderNo int)
insert into #T (Project, Asset, OrderNo) values ('ABC','K11',3245)
insert into #T (Project, Asset, OrderNo) values ('ABC','K11',4564)
insert into #T (Project, Asset, OrderNo) values ('ABC','K11',5234)
insert into #T (Project, Asset, OrderNo) values ('XYZ','M33',5346)
insert into #T (Project, Asset, OrderNo) values ('XYZ','M33',8745)
declare @Count int,@Cur int
declare @Qry nvarchar(4000)
set @Cur=1
select @Count=max(t.count) from (
select count(OrderNo) count from #T group by Asset)t
set @Qry=''
while @Cur<@Count+1
begin
set @Qry= @Qry + ',(select t.OrderNo from (select ROW_NUMBER() over(order by OrderNo) ROW_NUMBER, OrderNo from #T where Asset= t1.Asset) t where ROW_NUMBER='+ cast(@Cur as varchar(10)) + ') as OrderNo' + cast(@Cur as varchar(10))
set @Cur=@Cur+1
end
set @Qry='select distinct t1.Project, t1.Asset ' + @Qry + ' from #T t1 ORDER BY t1.Project'
print @Qry
exec sp_executesql @Qry
drop table #T
, и это результат:
![enter image description here](https://i.stack.imgur.com/3QHqT.png)
Я не думаю, что вы можете сделать это в MS Access.