新手请教1个关于多表查询的问题,急!能回答正确给50+50 表1 JOIN 表2 ON 表1.字段a=表2.字段b JOIN 表3 ON 表3.字段C=表2.字段d JOIN 表4 ON……依次可以连接多个表 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 统计求和,SELECT子句中材料数量 总额利用 聚合函数GROUP BY子句不能缺 用union 的select 和用join 的select和直接用from 表a,表b有什么区别? 用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 等效 楼主:你给的表字段不全,当然不能全部选出来了。其实你只要找到连接的关键字段用left outer join 表名 on xxx=xxx就可以了。 你肯定不能继续查询,因为你若统计求和,就必须用group by 语句,但是group by语句必须是相同类的并求和,你怎么在同一时间,同一单号的求同材料的数量、总额呢?要联合11个表,显示需汇总的列,然后时间在条件语句中写入,在报表生成时输入查询条件,如:时间段。方法:按上面各位所说的。一句话,上面的字段不能同时显示。 我用了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 Expr4FROM 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种不同查询语句结合起查询?跪求大虾!! 你可以用select.....union all select ........還有在用統計求和是一定要注意group by 的用法以及它顯示字段時要注意的問題了。 关于存储过程 求一个简单的SQL语句 需要一个sql函数,用于过滤非法字符 如何把sql2005express升级到sql2005企业版 replace函数是否可使用通配符 sql 去掉重复的数据 并对各项数据进行统计 新手问题:日期时间型数据的写入问题 巨难的问题,解决了随便开价底价1000点。msdtc的问题,和以往msdtc问题不一样,返回错误代码不一样 SQL SERVER7数据库迁移 谁能让我清醒 这样的存储过程应该怎么写呢?谢谢? 返回数据库上一次操作所影响的记录数是怎么写着呢?
GROUP BY子句不能缺
用union 的select 是将多个SELECT语句的返回结果组合到一个结果集中,这几个SELECT语句的字段数目要相等,字段数据类型相同或兼容
join 的select,连接任意数目的表都有可能,在连接操作中,通过使用共同拥有的列,任何一个表都可以和其他表连接起来,不过尽量在连接中限制表的数目,因为要连接的表越多,要完成的查询时间也越长,象你要把11张表联起来查询速度肯定受影响。
from 表a,表b where 表a.字段X=表b.字段y 与 from 表a join 表b on 表a.字段X=表b.字段y 等效
要联合11个表,显示需汇总的列,然后时间在条件语句中写入,在报表生成时输入查询条件,如:时间段。方法:按上面各位所说的。
一句话,上面的字段不能同时显示。
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种不同查询语句结合起查询?跪求大虾!!
還有在用統計求和是一定要注意group by 的用法以及它顯示字段時要注意的問題了。