表结构如下:Factory 工厂
Fid,NameWorkshop 车间
Wid,Name,FidDevice 设备
Did,Name,WidMaterial 材料
Mid,Name,Did期望的查询结果:
车间总数  设备总数 材料总数
3              60           220现想要统计某个工厂下有多少车间,多少设备,多少原材料;
并按照上述格式返回,SQL语句应当怎么写啊?SQLCouny

解决方案 »

  1.   

    SELECT  fid ,
            COUNT(w.wid) 车间总数 ,
            COUNT(d.did) 设备总数 ,
            COUNT(m.mdi) 材料总数
    FROM    Factory F
            INNER JOIN Workshop W ON f.Fid = w.Fid
            INNER JOIN Device D ON w.wid = d.wid
            INNER JOIN Material m ON d.did = m.did
    GROUP BY fid
      

  2.   

    SELECT  fid ,
            COUNT(distinct w.wid) 车间总数 ,
            COUNT(distinct d.did) 设备总数 ,
            COUNT(distinct m.mdi) 材料总数
    FROM    Factory F
            INNER JOIN Workshop W ON f.Fid = w.Fid
            INNER JOIN Device D ON w.wid = d.wid
            INNER JOIN Material m ON d.did = m.did
    GROUP BY fid