楼主: reduce_fat
491 22

SQL Loop 重金悬赏求解答 [推广有奖]

荣誉版主

海外论坛首席管理员

泰斗

25%

还不是VIP/贵宾

-

TA的文库  其他...

海外原创经济论文和写作技巧

威望
11
论坛币
3567509 个
通用积分
33978.7033
学术水平
6811 点
热心指数
7170 点
信用等级
6642 点
经验
1026 点
帖子
11888
精华
78
在线时间
1842 小时
注册时间
2011-6-13
最后登录
2024-4-20

一级伯乐勋章 初级热心勋章 初级学术勋章 中级热心勋章 中级学术勋章 高级学术勋章 初级信用勋章 特级学术勋章 高级热心勋章 中级信用勋章 特级热心勋章 高级信用勋章 特级信用勋章

200论坛币
这pdf 里面有20页的SQL codes 某些写的比较繁琐,不过我还在练习中。运用 SQL 加起来不到4个月。我知道SAS 里有 SQL 但这个是微软服务器中的SQL 12版的。 模型编程.pdf (201.53 KB)

这里面有4个问题描述 problem_desc1, problem_desc2, problem_desc3, problem_desc4, 所有要调查的问题有好几十个。 但我的这个程序可以推算出每个问题所需要的一切结果,就像Excel里的那些透视表一样体现出来。

每个problem_desc都有不同的值,但是其他所给条件都基本一样,不一样的也在我的编程里体现出来了。  现在不管是用loop 还是array 不知道SQL Server 里有没有这种功能。 网上查了有,但我还没练好。

注意,在定义declare所有变量前,有个程序只需要运转一次,不用管它。 在--problem_desc1 process - ip 这个comment后面才是需要进行loop运转的程序,一直到最后。我可不想复制粘贴好几十次这样的程序。 我写的程序里有点小问题, 但是这里只是用乱七八糟的名字定义的变量。 看不出来不要紧,我会陆续跟进提问。

需要指出的是, 即使我的程序里的变量是用乱码替换实际变量的,如果你能看出 “ 部分重复 ” 的程序可以用loop 循环,请帮我一并修改了。比如,部分变量重复使用20多次。

请高手帮忙。 特此悬赏 200 金币, 要把loop 过程写清楚,最好讲解一下。

如果回答很好,我会在我的板块加大奖励。

谢谢。

最佳答案

yongyitian 查看完整内容

Try to creat a STORED PROCEDURE with parameters using the query in the picture. Then you can recall or rerun the STORED PROCEDURE with different parameters each time. You may need to two parameters, one as SELECT variable and one in the WHERE condition, as blue circled in the follow picture. Just an idea, No SQL Sever to try.
关键词:loop 重金悬赏 求解答 sql problem Excel
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
xiaodao99 + 5 + 5 + 5 + 5 精彩帖子

总评分: 论坛币 + 5  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

复制粘贴积分链接 https://bbs.pinggu.org/ext8_airdrop.php?airdropfrom^^uid=2669999
沙发
yongyitian 发表于 2015-11-17 13:41:59 |只看作者 |坛友微信交流群
Try to creat a STORED PROCEDURE with parameters using the

query in the picture.

Then you can recall or rerun the STORED PROCEDURE with

different parameters each time.

You may need to two parameters, one as SELECT variable and

one in the WHERE condition, as blue circled in the follow

picture.

Just an idea, No SQL Sever to try.

SQL Stored Procedure-parameter.JPG
已有 1 人评分经验 收起 理由
reduce_fat + 66 好的意见建议

总评分: 经验 + 66   查看全部评分

使用道具

藤椅
olderp 发表于 2015-11-17 13:55:11 |只看作者 |坛友微信交流群
太高深了,有些看不懂。。。

使用道具

板凳
reduce_fat 发表于 2015-11-17 14:02:52 |只看作者 |坛友微信交流群
olderp 发表于 2015-11-17 13:55
太高深了,有些看不懂。。。
我加起来用了不到 4个月的SQL 这不高深啊,我只用了一天多时间写的,另外还有别的事做。

不要看变量是不是乱七八遭的,我胡乱改的,只需看能否把某些看似重复的程序能否改成loop,用ctrl + f 找相同的变量出现的次数,这样或许容易些。

我的程序可以算出大部分结果,但是有点小错误,这里只是想简化一下程序,我实际使用的变量都可以算我要的结果。比Excel的透视表好用多了。

使用道具

报纸
sniperhgy 发表于 2015-11-17 14:32:16 |只看作者 |坛友微信交流群
reduce_fat 发表于 2015-11-17 14:02
我加起来用了不到 4个月的SQL 这不高深啊,我只用了一天多时间写的,另外还有别的事做。

不要看变量 ...
楼主是要用SAS编程序还是要用SQL SERVER编写程序?两种情况的方法可完全不一样。
已有 1 人评分经验 收起 理由
reduce_fat + 22 鼓励积极发帖讨论

总评分: 经验 + 22   查看全部评分

使用道具

地板
reduce_fat 发表于 2015-11-17 20:53:56 |只看作者 |坛友微信交流群
sniperhgy 发表于 2015-11-17 14:32
楼主是要用SAS编程序还是要用SQL SERVER编写程序?两种情况的方法可完全不一样。
说过了,要用SQL Sever 的,但是没有找到SQL 专版,而且SAS 比SQL 难,就把问题放到这里了。

谢谢。

使用道具

7
olderp 发表于 2015-11-18 08:22:04 |只看作者 |坛友微信交流群
reduce_fat 发表于 2015-11-17 20:53
说过了,要用SQL Sever 的,但是没有找到SQL 专版,而且SAS 比SQL 难,就把问题放到这里了。

谢谢。
楼主,你不是故意来考大家的吧?

还是想钓出论坛中的高手?


使用道具

8
sniperhgy 发表于 2015-11-18 10:00:16 |只看作者 |坛友微信交流群
reduce_fat 发表于 2015-11-17 20:53
说过了,要用SQL Sever 的,但是没有找到SQL 专版,而且SAS 比SQL 难,就把问题放到这里了。

谢谢。
如果使用SQL SERVER, 那就直接写个存储过程,然后留出参数的位置,直接调用就好。要是用Oracle的话,可以比较方便的写出loop类型的语句。楼主自己稍微研究一下,应该就可以弄出来。
已有 1 人评分经验 收起 理由
reduce_fat + 28 鼓励积极发帖讨论

总评分: 经验 + 28   查看全部评分

使用道具

9
reduce_fat 发表于 2015-11-18 10:02:15 |只看作者 |坛友微信交流群
olderp 发表于 2015-11-18 08:22
楼主,你不是故意来考大家的吧?

还是想钓出论坛中的高手?
没有啊,这个不是很难写的,就是我想简化一下,用loop简化完了,看起来方便,更新起来也快。 还有别的没解决的任务呢,我先思考一下,再更新别的。

先解决这个问题。

使用道具

10
reduce_fat 发表于 2015-11-18 10:04:01 |只看作者 |坛友微信交流群
sniperhgy 发表于 2015-11-18 10:00
如果使用SQL SERVER, 那就直接写个存储过程,然后留出参数的位置,直接调用就好。要是用Oracle的话,可以 ...
我没有在SQL里写过loop 能说的详细一些吗? 用with statement? 不是Oracle 而是Sql server。 最好写几个例子出来。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 12:43