Foxtable(狐表)用户栏目专家坐堂 → 关于排序


  共有3956人关注过本帖树形打印复制链接

主题:关于排序

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/14 17:22:00 [显示全部帖子]

不明白你的意思,这个?

 

http://www.foxtable.com/webhelp/scr/0451.htm

 

具体一点你的问题,最好有实例或者截图


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/14 17:51:00 [显示全部帖子]

得到一个查询表,再处理

 

select 姓名, sum(金额) as 总金额 from
(select 姓名, 金额 from {表A} union all
select 归属人, 额度 from {表B} union all
select 上级人, 钱数 from {表C})
as a group by 姓名

 

http://www.foxtable.com/webhelp/scr/2329.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/14 18:04:00 [显示全部帖子]

以下是引用lzw001在2018/5/14 18:02:00的发言:
老师,这个union all 是什么用途呢这里

 

把两个表的数据合并到一起去。

 

http://www.foxtable.com/webhelp/scr/0688.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/16 9:56:00 [显示全部帖子]

无法测试你写的sql语句,做一个和你表格一模一样的实例发上来测试。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/16 16:20:00 [显示全部帖子]

没看懂你的逻辑,请这样写代码,看懂代码意思

 

Select 上级统计所有合伙人_上级 as 姓名, 平台订单信息_一级佣金 as 金额 from {平台合伙人订单数据} union all
Select 上上级非在职合伙人即不填_上上级, 平台订单信息_二级佣金 from {平台合伙人订单数据} union all
select 订单原始归属所有合伙人_归属人, 佣金收益_放款金额*佣金收益_业绩分佣点* 10000*订单原始归属所有合伙人_业绩返佣比 from {贷款每日进度表1} union all
select 上一级归属所有合伙人_上级, 佣金收益_放款金额*佣金收益_业绩分佣点* 10000*iif([上一级归属所有合伙人_业绩返佣] - [订单原始归属所有合伙人_业绩返佣比]> 0,[上一级归属所有合伙人_业绩返佣] - [订单原始归属所有合伙人_业绩返佣比],0) from {贷款每日进度表1}


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/17 15:11:00 [显示全部帖子]

我这样测试正常

 

select * from (select 姓名, sum(金额) as 总金额 from (
Select 上级统计所有合伙人_上级 as 姓名, 平台订单信息_一级佣金 as 金额 from {平台合伙人订单数据} union all
Select 上上级非在职合伙人即不填_上上级, 平台订单信息_二级佣金 from {平台合伙人订单数据} union all
select 订单原始归属所有合伙人_归属人, 佣金收益_放款金额*佣金收益_业绩分佣点* 10000*订单原始归属所有合伙人_业绩返佣比 from {贷款每日进度表1} union all
select 上一级归属所有合伙人_上级, 佣金收益_放款金额*佣金收益_业绩分佣点* 10000*iif([上一级归属所有合伙人_业绩返佣] - [订单原始归属所有合伙人_业绩返佣比]> 0,[上一级归属所有合伙人_业绩返佣] - [订单原始归属所有合伙人_业绩返佣比],0) from {贷款每日进度表1})

as a group by 姓名) as b order by 总金额 desc


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/17 15:36:00 [显示全部帖子]

1、代码在你发的例子那里执行是否正常?

 

2、你连接的数据源是sqlserver还是access?如果是sqlserver,不能用iif函数,要改成 case when

 

https://www.cnblogs.com/aipan/p/7770611.html

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/17 16:01:00 [显示全部帖子]

比如

 

select 上一级归属所有合伙人_上级, 佣金收益_放款金额*佣金收益_业绩分佣点* 10000*iif([上一级归属所有合伙人_业绩返佣] - [订单原始归属所有合伙人_业绩返佣比]> 0,[上一级归属所有合伙人_业绩返佣] - [订单原始归属所有合伙人_业绩返佣比],0) from {贷款每日进度表1}

 

改成

 

select 上一级归属所有合伙人_上级, 佣金收益_放款金额*佣金收益_业绩分佣点* 10000*(case when [上一级归属所有合伙人_业绩返佣] - [订单原始归属所有合伙人_业绩返佣比]> 0 then [上一级归属所有合伙人_业绩返佣] - [订单原始归属所有合伙人_业绩返佣比] else 0 end) from {贷款每日进度表1}


 回到顶部