SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1016|回复: 1
打印 上一主题 下一主题

帮忙解决一下在select子句中使用嵌套查询

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-11-21 15:50:43 | 只看该作者

帮忙解决一下在select子句中使用嵌套查询

看到一下的题目,我就不会了!

a 数据集如下:

Id    Name   Jobcode   Salary
---    - -----    -------    ------
001 Albert    PT1     50000
002 Brenda   PT1     70000
003 Carl       PT1     60000
004 Donna    PT2     80000
005 Edward  PT2     90000
006 Flora     PT3     100000


不懂一下程序是怎么进行的!感觉书上也没有讲清楚。具体过程不懂。
proc sql;
  select Jobcode, Salary, (select avg(Salary)
                                            from a as P1
                                                     where P1.Jobcode=P2.Jobcode) as Avg
     from a as P2
        order by Id;
quit;

结果是:

Jobcode Salary  Avg
------- ------ -----
PT1     50000   60000
PT1     70000   60000
PT1     60000   60000
PT2     80000   85000
PT2     90000   85000
PT3     100000 100000


我不知道怎么会这样!

请大侠们帮忙看一下哈,谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-7-26 17:51:38 | 只看该作者

Re: 帮忙解决一下在select子句中使用嵌套查询

=
select Jobcode, Salary, avg
from a as P2
inner join (select jobcode,avg(Salary) as Avg from a) as P1 on P1.Jobcode=P2.Jobcode;

包含了一个连接~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-10 03:51 , Processed in 0.068070 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表