DECLARE @RQ1 VARCHAR(10)
DECLARE @RQ2 VARCHAR(10)
DECLARE @YZ VARCHAR(80)
DECLARE @RY VARCHAR(10)
SELECT ID=MAX(ys),YP=max(mc),DJ=MAX(dj),GG=max(GG),SL=sum(SL),DW=max(jldw),money=CAST(sum(dj*SL) AS VARCHAR(10))
FROM
(SELECT KYZYS,YS=RY.MC,YP.MC,SL,YP.JLDW,YP.DJ,ZD.GG,YZ1.YZBM
FROM ZY_YFQLD200702 YF
LEFT JOIN ZY_BFYZ0 YZ ON YF.YZGROUPID=YZ.MGROUPID
LEFT JOIN ZD_RY RY ON YZ.KYZYS=RY.BM
LEFT JOIN ZD_YP YP ON YF.YZBM=YP.BM
LEFT JOIN ZY_BFYZ1 YZ1 ON YZ.MGROUPID=YZ1.DGROUPID
LEFT JOIN ZD_YZ ZD ON YP.BM=ZD.BM
WHERE YF.YZGROUPID=YZ1.DGROUPID
UNION
SELECT KYZYS,YS=RY.MC,YP.MC,SL,YP.JLDW,YP.DJ,ZD.GG,YZ1.YZBM
FROM ZY_YFQLD YF1
LEFT JOIN ZY_BFYZ0 YZ ON YF1.YZGROUPID=YZ.MGROUPID
LEFT JOIN ZD_RY RY ON YZ.KYZYS=RY.BM
LEFT JOIN ZD_YP YP ON YF1.YZBM=YP.BM
LEFT JOIN ZY_BFYZ1 YZ1 ON YZ.MGROUPID=YZ1.DGROUPID
LEFT JOIN ZD_YZ ZD ON YP.BM=ZD.BM
WHERE YF1.YZGROUPID=YZ1.DGROUPID
)
AS TOTAL
GROUP BY KYZYS,YZBM 问题是两份表列"SL"的值相加居然比一份表的列"SL"还少,不知道问题出在哪里了!
DECLARE @RQ2 VARCHAR(10)
DECLARE @YZ VARCHAR(80)
DECLARE @RY VARCHAR(10)
SELECT ID=MAX(ys),YP=max(mc),DJ=MAX(dj),GG=max(GG),SL=sum(SL),DW=max(jldw),money=CAST(sum(dj*SL) AS VARCHAR(10))
FROM
(SELECT KYZYS,YS=RY.MC,YP.MC,SL,YP.JLDW,YP.DJ,ZD.GG,YZ1.YZBM
FROM ZY_YFQLD200702 YF
LEFT JOIN ZY_BFYZ0 YZ ON YF.YZGROUPID=YZ.MGROUPID
LEFT JOIN ZD_RY RY ON YZ.KYZYS=RY.BM
LEFT JOIN ZD_YP YP ON YF.YZBM=YP.BM
LEFT JOIN ZY_BFYZ1 YZ1 ON YZ.MGROUPID=YZ1.DGROUPID
LEFT JOIN ZD_YZ ZD ON YP.BM=ZD.BM
WHERE YF.YZGROUPID=YZ1.DGROUPID
UNION
SELECT KYZYS,YS=RY.MC,YP.MC,SL,YP.JLDW,YP.DJ,ZD.GG,YZ1.YZBM
FROM ZY_YFQLD YF1
LEFT JOIN ZY_BFYZ0 YZ ON YF1.YZGROUPID=YZ.MGROUPID
LEFT JOIN ZD_RY RY ON YZ.KYZYS=RY.BM
LEFT JOIN ZD_YP YP ON YF1.YZBM=YP.BM
LEFT JOIN ZY_BFYZ1 YZ1 ON YZ.MGROUPID=YZ1.DGROUPID
LEFT JOIN ZD_YZ ZD ON YP.BM=ZD.BM
WHERE YF1.YZGROUPID=YZ1.DGROUPID
)
AS TOTAL
GROUP BY KYZYS,YZBM 问题是两份表列"SL"的值相加居然比一份表的列"SL"还少,不知道问题出在哪里了!
解决方案 »
- 求个合并三张表的sql 语句,万分感谢!
- 继续求一SQL语句
- 高分求一条SQL语句
- 如何让某一个固定名称的字段始在前面显示?
- 求教个数据库应用的简单问题
- insert触发器中,如何update记录本身?
- 如何从MS SQL中导出.sql文件可以用来生成表和数据的,即有Insert Into TableName(ID,Name,Memo) values (1,'User01','Test')
- sql 的符号难题,大侠们帮帮忙,在线等
- 还得再问。挺难的吧。
- 请问大家用存储过程调用DTS包应该怎么做
- 请教高手 在sql2005中,sp_fulltext_getdata 这个系统过程的参数是什么.
- 求一SQL语句,非常急,在线等,谢谢!!!!!!!!!!!
返回对两个集合进行 union 运算所生成的集合,可以保留重复的成员。语法
Union(«Set1», «Set2»[, ALL])替代语法 1
{«Set1», «Set2»}替代语法 2
«Set1» + «Set 2»注释
此函数返回 «Set1» 和 «Set2» 的 union 运算结果,并在默认情况下消除重复项。ALL 标志表示在并集中保留重复项。从尾部删除重复项。 也可以将逗号分隔的集合列表用括号括起来或使用 + 运算符,通过 union 算法合并集合。例如:{USA.Children, CANADA.Children}与{USA.Children} + {CANADA.Children}等同于Union(USA.Children, CANADA.Children, ALL)使用替代语法时始终保留重复的成员。