求一条SQL语句,比较复杂
table1: 
 序号         类别 
 01               玩具 
 02               食物 
 table2: 
 序号         类别            名称            对应编号 
 01               玩具            大小                  A1 
 02               玩具            面积                  A2 
 03               玩具            体积                  A3 
 04               食物            重量                  A7 
 05               食物            颜色                  A9 
 table3: 
 序号         物品         A1            A2            A3         A4         A5         A6            A7         A8         A9         A10   ..... 
 01               皮球         10            20            30 
 02               篮球         20            30            40 
 03               苹果                                                                                                            20                        50 
 04               香蕉                                                                                                            80                        70   
 显示效果 
 对应2种类别 
 当是玩具类别时候显示 
 物品         类别         大小         面积         体积 
 皮球         玩具         10                  20               30 
 篮球         玩具         20                  30               40 
 当是食物类别时候显示 
 物品         类别         重量         颜色 
 苹果         食物         20                  50 
 香蕉         食物         80                  70   
 请给出具体的查询过程。。谢谢 
------解决方案--------------------  create table A(序号 nvarchar(10),类别 nvarchar(10)) 
 insert A select   '01 ',      '玩具 ' 
 union all select  '02 ',      '食物 '   
 create table B(序号 nvarchar(10), 类别 nvarchar(10), 名称 nvarchar(10), 对应编号 nvarchar(10)) 
 insert B select  '01 ',      '玩具 ',     '大小 ',       'A1 ' 
 union all select  '02 ',      '玩具 ',     '面积 ',       'A2 ' 
 union all select  '03 ',      '玩具 ',     '体积 ',       'A3 ' 
 union all select  '04 ',      '食物 ',     '重量 ',       'A