SQL - 枢轴 table - 每列行数不均匀

SQL - Pivot table - uneven rows per column

我正在尝试为我需要编写的报告格式化这样的数据: (每列不同的行数) 每个城市,必须显示郊区列表,然后是他们拥有的车辆列表,例如奥斯汀.

    City    Suburbs   Vehicles
  1 Austin  Bastrop   Ford
  2         Hutto     Mazda
  3         Lakeway   Mercedes
  4         Luling  
  5         ShadyHollow 
  6         WellsBranch 
  7         BrushyCreek 
  8         Elgin   
  9         Jollyville  

  10  Dallas    Belmont         BMW
  11            Eastwood        Ford
  12            GreenlandHills  
  13            LakeParkEstates 
  14            Lochwood    

这是源数据

declare @Test0 table(city nvarchar(10), [state] varchar(30))
   insert into @Test0 values ('Austin',  'Texas')
   insert into @Test0 values ('Dallas',  'Texas')

 declare   @Test1 table (city nvarchar(10), suburb nvarchar(30) ) 
    insert into @Test1 values ('Austin',  'Bastrop')
    insert into @Test1 values ('Austin',  'Hutto')
    insert into @Test1 values ('Austin',  'Lakeway')
    insert into @Test1 values ('Austin',  'Luling')
    insert into @Test1 values ('Austin',  'ShadyHollow')
    insert into @Test1 values ('Austin',  'WellsBranch')
    insert into @Test1 values ('Austin',  'BrushyCreek')
    insert into @Test1 values ('Austin',  'Elgin')
    insert into @Test1 values ('Austin',  'Jollyville')
    insert into @Test1 values ('Dallas',  'Belmont')
    insert into @Test1 values ('Dallas',  'Eastwood' )
    insert into @Test1 values ('Dallas',  'GreenlandHills')
    insert into @Test1 values ('Dallas',  'LakeParkEstates')
    insert into @Test1 values ('Dallas',  'Lochwood')

  declare @Test2 table(city nvarchar(10), vehicle nvarchar(30))
     insert into @Test2 values ('Austin',  'Ford')
     insert into @Test2 values ('Austin',  'Mazda')
     insert into @Test2 values ('Austin',  'Mercedes-Benz')
     insert into @Test2 values ('Dallas',  'BMW')
     insert into @Test2 values ('Dallas',  'Ford' )



 select * from @Test0 t0 join @Test1 t1 on t0.city = t1.city
 join @Test2 t2 on t0.city = t2.city

请问我从哪里开始?枢轴是答案吗?我什至在旋转? 谢谢

 select City, 
 (
 select suburb + ' ' from @test1 where city=a.city for xml path(''),
 type).value('.[1]', 'varchar(max)'
 ),
 (
 select vehicle+ ' ' from @test2 where city=a.city for xml path(''),
 type).value('.[1]', 'varchar(max)'
 ) 
 from @test0 a