x: 是个从多个表取得数据表 :从lsxx 取得 jcss的和,jcje的和,分组条件 :GROUP BY yplb(SELECT SUM(CONVERT(float, jcss)) AS jcss, SUM(CONVERT(float, jcje)) AS jcje,yplb FROM lsxx GROUP BY yplb)
y: 是个从多个表取得数据表:从lskh 取得 jcss的和,jcje 的和,分组条件 :GROUP BY yplb (SELECT SUM(CONVERT(float, jcss)) AS jcss, SUM(CONVERT(float, jcje)) AS jcje, yplb FROM lskh GROUP BY yplb)然后把x,y Full 连接,取得其中几个字段.
Full 连接的条件是 ON x.yplb = y.yplb
解决方案 »
- FOR循环的问题,请进来看下!
- 求大家帮个忙,哪位知道delphi中的dxloutlookgroup组件在什么地方啊
- 字符串的问题:把“a”变成10位的‘000000000a’用是什么函数?
- pasca语言倒水问题
- 将按钮加到桌面上
- 不让回答问题了。。郁闷。。只有散分了。。。祝大家新年快乐。12:00结帐
- 有谁知道itpub的登录密码是什么?
- 动态连接库调用可执行程序,如何实现快捷键调用,使其窗体编程激活状态。
- SeSkin控件EnableWindow失败
- 请问各位大侠在exe里面怎么去掉该死的弹窗
- 很简单的问题!!!报表控件QuickRep的页数显示问题!!!
- 请问哪位有indy组件做pop3的资料?
COALESCE (x.yplb, y.yplb) COALESCE: 返回其参数中第一个非空表达式。好了,都给你解决了,漫漫分析看看
SELECT COALESCE (x.yplb, y.yplb) AS yplb
如果x.yplb不是null则选x.yplb,否则选y.yplb,如果都是null则为null值,AS 后面的yplb是字段的别名
CONVERT(float, jcss)是将该字段的值转换为浮点类型
FULL JOIN 全外连接,选出所有符合条件的数据行
其它的都是很简单的语句,相信你自己应该可以理解,不明白的地方请明确指出
------------------------
1.COALESCE:返回第一个值非空的表达式的值;
2.AS:这个就不用多说了吧;
3.FROM (SELECT SUM(CONVERT(float, jcss)) AS jcss, SUM(CONVERT(float, jcje)) :一个子查询而已;
4.SUM(CONVERT(float, jcss)):先转换数据类型,再求和;
5.GROUP BY:分组,一般是配合SUM来用的;
6.FULL JOIN:连接查询,类似的还有LEFT JOIN,RIGHT JOIN,INNER JOIN
7.如果你认识了上面这些,那我想这个查询也就不复杂了!