表1 JOIN 表2 ON 表1.字段a=表2.字段b JOIN 表3  ON 表3.字段C=表2.字段d JOIN 表4 ON……依次可以连接多个表

解决方案 »

  1.   

    统计求和,SELECT子句中材料数量 总额利用 聚合函数
    GROUP BY子句不能缺
      

  2.   

    用union 的select 和用join 的select和直接用from 表a,表b有什么区别?
      

  3.   

    用union 的select 和用join 的select和直接用from 表a,表b都可以组合多个表的数据,但有区别:
    用union 的select 是将多个SELECT语句的返回结果组合到一个结果集中,这几个SELECT语句的字段数目要相等,字段数据类型相同或兼容
    join 的select,连接任意数目的表都有可能,在连接操作中,通过使用共同拥有的列,任何一个表都可以和其他表连接起来,不过尽量在连接中限制表的数目,因为要连接的表越多,要完成的查询时间也越长,象你要把11张表联起来查询速度肯定受影响。
    from 表a,表b where 表a.字段X=表b.字段y 与 from 表a join 表b on  表a.字段X=表b.字段y 等效
      

  4.   

    楼主:你给的表字段不全,当然不能全部选出来了。其实你只要找到连接的关键字段用left outer join 表名 on xxx=xxx就可以了。
      

  5.   

    你肯定不能继续查询,因为你若统计求和,就必须用group by 语句,但是group by语句必须是相同类的并求和,你怎么在同一时间,同一单号的求同材料的数量、总额呢?
    要联合11个表,显示需汇总的列,然后时间在条件语句中写入,在报表生成时输入查询条件,如:时间段。方法:按上面各位所说的。
    一句话,上面的字段不能同时显示。
      

  6.   

    我用了
    SELECT TB_RP_Maintain.FD_Maintain_Date, TB_RP_Maintain.FD_Maintain_Num, TB_RP_Maintain.FD_Bus_Num,TB_RP_Maintain_Detail.FD_Project_Num,TB_RP_Maintain_Detail.FD_ExpType_ID,TB_RP_Overhaul.FD_ExpType_Name,'其他故障' AS 故障类别,
          TB_RP_Employee.FD_Emp_Name,TB_RP_Maintain_Detail.FD_BRepair_Emp, '材料 ' AS Expr2, '否' AS 免单情况, 
          TB_RP_Maintain.FD_Maintain_Rank, 'luxian' AS Expr4
    FROM  TB_RP_Maintain_Detail  INNER JOIN TB_RP_Maintain
           ON 
           TB_RP_Maintain_Detail.FD_Maintain_Num =TB_RP_Maintain.FD_Maintain_Num 
          join TB_RP_Overhaul on  TB_RP_Maintain_Detail.FD_ExpType_ID=TB_RP_Overhaul.FD_ExpType_ID
    join TB_RP_Employee on TB_RP_Maintain_Detail.FD_BRepair_Emp=TB_RP_Employee.FD_Emp_Num
    但是不能查询出材料的FD_MaterialName 物资名称
    FD_SpecMode 规格型号
    FD_Unit 计量单位
    FD_AppNumber 请领数量
    FD_FactNumber 实领数量
    FD_FactPrice 实际单价
    FD_FactSum 实际金
    FD_PlanPrice 计划单价
    FD_PlanSum 计划金额
    这些资料,材料的显示必须嵌套查询出来,
    我可以单独用:
    select FD_materialName,FD_SpecModel,FD_Unit,FD_PlanPrice,FD_PlanPrice,FD_PlanSum from TB_MT_outWhDetail where FD_OutWhNum in(select  FD_OutWhNum  from TB_MT_OutWhMaster where FD_RepairNum in(select FD_BRepair_Num  from TB_RP_BusRepair_Detail where FD_ExpType_ID in (select FD_ExpType_ID from TB_RP_Maintain_Detail)))查询出材料,但两者怎样能够结合起来一起显示,
    保养单号等对材料编号等是1对多关系,但要通过4个表的间接关系才能查询出来                     Fd_ExpType_ID                   FD_RepairBNum           FD_OutWhNum 
    TB_RP_Maintain_Detail -------->TB_BR_BusRepair_Detail------------->TB_MT_OutWhMaster ------>TB_MT_outWhDetail 怎么把2种不同查询语句结合起查询?跪求大虾!!
      

  7.   

    你可以用select.....union all select ........
    還有在用統計求和是一定要注意group by 的用法以及它顯示字段時要注意的問題了。