免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: tigerfish
打印 上一主题 下一主题

请教一个SQL语句怎么写? [复制链接]

论坛徽章:
0
31 [报告]
发表于 2003-09-09 18:20 |只看该作者
是的,kingstar的后台选择比较广,当时我在时后台用到microsoft sqlserver,sybase sqlserver,db2(好像也用到oracle了),部门不同,我不是很清楚,前台用的很广,主流开发工具都用,包括c,java等。case用到rose,powerdesign等。

论坛徽章:
0
32 [报告]
发表于 2003-09-09 18:25 |只看该作者
我觉得加标志这件事不太妥当,先不说一件事情分在两处做可能带来的问题,
就这个标志就有很大的问题。因为这个标志是从已有数据中*计算*出来的。
首先,这个标志所代表的含义已经在其他数据中存在了,如何保持两者的一
致性就是一个问题。另外,最大的问题是这个计算的方法可能会变,这时候
你怎么办?
比如说,你写好了这个管猪的程序,也拿给客户实施了一段时间了,很多猪
也都生过小猪了。这时候客户给你打电话说他希望能得到连续5次孩子数量
小于25个的母猪,你怎么办?原来那个标志是不是就没用了?极端一点,
过了一段时间,客户又希望得到在任意连续次孩子数量小于任意个的
母猪(非常有可能),你又怎么办?

当然,我前面给的那个sql也无法实现这些要求,不过,我只需要把这条
sql改一下就可以了。下面的sql得到的是所有曾经有连续5次孩子数量
小于25的母猪的ear_num,把其中的常量变成变量就可以实现“任意连续次,
任意个孩子”的要求了。加时间限制也很简单。

select distinct ear_num from pig t1 where
        t1.embryo_num=(select min(t2.embryo_num)
                from pig t2 where t2.ear_num=t1.ear_num
                and t2.embryo_num between t1.embryo_num and t1.embryo_num+4
                having count(*)=5 and max(t2.son_num)<25)

论坛徽章:
0
33 [报告]
发表于 2003-09-09 19:17 |只看该作者
to eru 老兄 你知不道母猪一年最多能够生两胎,有的说不定只能生一胎,连续三胎最少也要1年半,连续5胎最少需要2。5年
你可真厉害! 连续5个月就能让母猪生5胎 佩服啊!

论坛徽章:
0
34 [报告]
发表于 2003-09-09 19:24 |只看该作者
嗯,着急吃饭,写错了,不是“月”是“次”,现在改过来了,还有其他问题吗?

论坛徽章:
0
35 [报告]
发表于 2003-09-10 00:50 |只看该作者
根据我在网上查到的资料,适龄可以生育的猪生育期不长的。这就是楼主没有在表里设置时间的原因吧。他可能从朋友地方知道了一些关注的指标。有篇内容写的不错,关于猪的,给个链接:
http://www.chinaswine.com/webpage/qydt/qynew15.htm

eru 关于数据一致性的原则我赞成的,虽然可以通过排它锁来解决,不过这样一又增加了后台的负担,担心死锁的存在,二来客户要求改变,又要改前台程序再编译,就比较麻烦了。

eru 对于sql语句的驾驭让我佩服。撇开时间问题(实际应用中),他的语句修改成存储过程或我的语句修改成存储过程都不失为一种好的选择。当然, 花好月不圆关于标志的做法还是在编程中常用的。也许一头猪一生能有的胎次根本不多,楼主只是关心是哪头猪不争气,把它的耳朵揪出来。

不过撇开实际深入的探讨还是对我们的思维是有帮助的。

下面给个笑话,放松一下:


算你丫运气好~
> > 有次逛街时突然觉得肚子很痛,于是走进街角的199吃到饱火锅店,想说借个厕所用
> > 用,偏偏找遍了一楼就是找不到,于是我跑到二楼去, 二楼是还在装修空荡荡的没
> > 有任何东西,但是却发现有一间厕所门贴着\"故障待修,请勿使用\", 我实在是忍不
> > 住了,管他三七二十一,反正四下无人,脱了裤子就朝马桶蹲下去,霹雳啪啦......好
> > 爽! !
> > 结束后,我走下楼去却发现空无一人,奇怪了,正值晚餐时间刚才楼下还高朋 >满
> > 座说,怎么一下子就人去楼空呢??连服务生和接待都不见了......
> >   于是我走近吧台,并且问到:「有人在吗?怎么都没人了?」
> >   此时,只见一个男服务生从吧台下钻出来,
> >   并且开口说:「我操!......刚才大便从天花板掉下来打到电风扇的时候你不在?
> >
> >   算你丫运气好.....

论坛徽章:
0
36 [报告]
发表于 2003-09-10 00:52 |只看该作者
再来一篇,献给花好月不圆和 eru :

万峰老师的经典回顾
  〖几年前在杭州读书时,就听过这个万峰的节目。熄灯后,寝室里的兄弟们把收音机调的很大声,就为听这老小子教训别人。基本上,在杭州读过书的GGDD,都应该听过他的午夜性节目的。当然,什么样的节目要是一成不变的话,是会让人厌倦的。这家伙的风格就一直没改过。当时风传正因为他的风格,该节目一度被上级部门要求限期整改。而我们,也听厌倦了。…… 在相当一段时间之后,室友偶尔把收音机再次调到了那个波段,听到这个万峰的声音,寝室里也再次哗然。〗 〖现在想来,其中的笑话还真是不少,令人喷饭。这不,刚在某处看到有整理成文字的,就急着拿来献宝了。还希望各位笑纳了。〗
  ★某日节目中,有听众打进热线询问阴虱事宜,以下为对话记录:
(“万”即万峰,“听”即听众)
听:万~~万峰老师,我有一个问题要问。
万:(不耐烦地)说吧。
听:我长了阴虱,怎么办?
万:怎么办?你还敢来问我?你有没有不洁性行为啊?
听:没~~没有~~
万:没有(语气尖刻)?!那你爱人,也就是你老婆有没有啊?
听:也没有~~~
万:也没有?胡说!!你老婆没有乱搞,你也没有乱搞,那不老实?那你说你的阴虱是那
里来的?空降兵?!


还有一次,听众问万峰,口交卫生吗?
万峰答到,你想想看,大便小便一块出来的地方,能不脏吗?
(我是学医的,我想不学医的也知道,不管男的还是女的,大便小便好象都不是一块出
来吗。
当然,个别有生理或者病理的畸形的不算。)


我没听过几次
但有一个我印象深刻:
听众:万风老师,我射精无力啊~
万风:射精无力?!你想射多远??非洲有种鱼,能把树上的虫子射下来……

后来我给衍生了一个:
听众:万风老师,我阴毛很少啊~
万风:阴毛少?!你想有多少??非洲有种大猩猩……


--------------------------------------------------------------------------------
★ 其实很多时候 这个人确实让人气愤 因为他实在是太封建了 认为一提到性就是该脸红 谁一有相关的毛病不是乱搞就是想乱搞 但他在我的大学时光里留下了快乐的一笔~~~
当年,万峰到医大来讲座。那真的是万人空巷,大家都想看看这个什么都不懂的性学 专家长什么样。他说:“当年在新疆,我和一个20岁的姑娘在一个空房子里呆了三天三夜,什么事都没有发生。同学们,有人要问,你忍的牢吗?我说,现在的年轻人太差,我那个时候意志力很强的,什么都能忍住。...这有什么忍不住的,我就觉得奇怪......”

★ 听:我女朋友怀孕了... 万:又是一个女朋友怀孕的,现在的年轻人太不负责!你们不采取预防措施么? 听:太急,忘了 万:这个有什么急的,这点时间总有的 听:是第一次,没有什么经验万:第一次?心里就不是第一次了吧。你肯定准备了很长时间了,老想着要把你女朋友怎么样,是不是?听:...... 万:现在出了事情怎么办?啊?真是小狗改不了吃屎,老想着这些事... ... 听:你个卖比儿子... ...(被掐断) 万:这个听众... ...(骂人)

★ 听:万峰老师,我明天要结婚了!(兴奋状) 万:这个小伙子,结婚了还打什么电话 听:我和我女朋友还没有那个过,万峰老师,我想问你,第一次我该怎么做比较好? 我现在很紧张。万:是么!这个年轻人要表扬!现在像你这样的年轻人已经不多了!有毅力!我要好好表扬表扬你! 听:谢谢!您说我该怎么办?我很紧张,我女朋友也很紧张。万:这个吗,你难道一点都不懂么?可以到书店里去翻翻书吗,也可以买碟片学习的吗。不要紧张。在这里讲这个好象不是很合适,有很多人在听的。今天就不讲了,好不好?听:哪里有?我..... 万:其实吗,你只要等勃起以后... 接着他就把整个过程在广播里讲了一遍,不带停的。口淫。。。。。。

★ 经典的老段子: 听众:万老师,老听您的节目,真的是很长见识。可听您节目老听您阴茎。。阴茎的叫,觉得好别扭,能不能。。。。。。(话未完,被打断) 万:不叫阴茎叫什么?难道要我叫八叼,马巧儿。。。。。。。。

★ 好!回顾的好啊 我好像很以久没有听到万峰的讲话了~~~ 有次一个女的打电话进去 问:“万峰老师我看到一个露阴僻,我好害怕。怎么办” 答:“害怕,害什么怕,你只要大喊一声-----耍流氓(万峰高音)”

★ 前两天刚听来的 女:我和我男朋友分手了,可是我还是很爱他,怎么办 万:分手了就分手了呗 女:可是我还是很爱他啊~~~~万:你现在啊就是一只在井底的蛤蟆,只看到身边的这一只蛤蟆。等有一天你爬上来了,看到更好的蛤蟆了,你就不会想着这只蛤蟆了。外面的蛤蟆多的是,干吗老缠着一只蛤蟆~~~~我们寝室的都笑晕了~~怎么用蛤蟆来比喻人家一个MM啊~~~~好歹也是青蛙嘛~~

★ 他里面说话,和外面矛盾的 万:欢迎收听伊甸园,我是万峰。我们在杭州xxxxx...欢迎听众朋友拨答热线。讨论有关性.健康和情感方面的事~~~~~~~~~~~~~~~~~~~~~~~~~~ 男:万老师.我发现我下面不舒服..... 万:阿??什么?什么下面?说清楚..你的腿阿,脚阿,都是下面..男:.....就是..就是..生殖器.. 万:..你有没不洁性行为阿??有没有乱搞??我们说阿....(此处省略) 男:那你说........ 万:去医院那..好好的医院放着不去..我这里又不医院.我又不是大夫...

★ 女:万疯老师,,, 万:阿..你好.不要叫我老师嘛.. 女:我和我男朋友...(没说完..万:哎呀...我们说阿..你们小小年纪不学好...着什么急.... 女:不是不是...我们没..我们感情有点问题........但我还爱他...你说怎么办啊万:阿...这事你们自己解决好不好??关键看你了牢..问我有什么用.   好像我们时间差不多到了..欢迎收听伊甸园信箱....... ................

★ 听:“万峰老师,我不知道怎么回事一见到我的女朋友阴茎就会勃起怎么办?” 万:“怎么办?!你个年轻人思想那么复杂干什么?老是勃起象举着个手枪一样干吗?   抓特务啊?

★ 某女:“嘻嘻……”  万:“乐什么?有什么好乐的?”  某女:“是万锋老师吗?”  万:“我是万锋,请说!”  某女:“是这样……我老公早上醒来不勃起来……”  万:“干吗要勃起来?没事老硬着干吗?”  某女:“他们说早上要勃的……” 

万:“谁跟你说的,没事勃起来,老勃着,硬堂堂呆梆梆的,那是病!!没事勃上10 分钟,赶快要去检查、割掉……”  某女:“啊……他们说这样好……”  万:“不要他们说,他们说!!晨勃是有,但不是每个人都一样,你早上憋泡尿,想  不硬都不行!!  哧!好不好?……我们说…………”

★ 有一回一个电话打进来说:是万峰老师吗?? 然后他说:是啊!! 一个说:哦,你就是啊!万疯啊,我XXXX妈大B 万(卡电话):什么啊!什么啊!!如果我没听错?啊!! 然后就是放录音:妈妈我是从哪里来的啊!!专家呼吁性教育从零岁开始!!

★ 有一次,有个人打电话进去, 问:是万峰老师吗????? 答:是啊!!问:我和我女朋友发生了关系,结果,到现在她还没来月经,我们现在很担心!!! 答:这种情况有两种可能,一种就是真的怀孕了,另一种就是在你快来月经的时候,   被你自己被吓了一吓,被吓进去了!!问:.............这种能吓进去????????强!!!!!!!!!!!!

★ 男生:“哦,我和我女朋友明天要结婚了,我不知道新婚之夜怎么过,请问……?”万疯:“唉??这种事情你问我?问你父母去啊………他们不是有经验吗,啊?”

★ 万:这位听众…… 听:万老师啊,我的阴茎不是很直,请问有没有问题啊…… 万:你要那么直干什么,又不是当尺子来用!

★ 这厮也不知道是怎么进电台地,晕~~~ 还记的初中时的一段::: 听:万疯老虱啊? 万:请说? 听:我觉的自己的阴茎很短啊…… 万:短,你怎么知道短? 听:我不勃起是只有…CM…… 万:那你怎么就知道自己的比别人短? 听:…………万:啊~!.!#.我说过多少次了,不要动不动就说自己的阴茎短啊。只有经过医生确证的才是病,才学要手术。啊~~曾经看到过一篇报道,说是科学家在非洲发现某原始部落,男性的阴茎在不勃起的情况下也有30-40公分,平时劳动时都要用  一根绳子寄在腰间…………啊~~你说你带那么个大家伙也很碍事地…………

哪来这么大地八叼,估计也就只有这厮才有~!¥#.%……%—……*(**—

★ 听众:万峰老师,我在晚上10点去一家招待所,结果被保安关起来盘问,我被他们毒   打。 万:哦,这种事每天都有发生,没什么的。 听众:但是,他们太不讲道理了,这是违法的。 万:这种事情你不要和我说,真的想说的话,找公安局去。我们这里管不了的。听众:但是我觉得很委屈。 万:好了好了,那你为什么要那么晚出去呢?晚上在家里不就没事了吗? #¥!……!%¥!%——————————--------------------------------------------------------------------------

俺也有体会! 某日深夜坐出租车,收音机正在播放这厮的节目。。。。 听众:。。。我。。。我的几个女朋友,都说我。。。下面那个。。。有点大(话音未落被打断)。。。 万:大?你以为你大就了不起了?有驴大、有马大吗?。。 听众:。。。(无语)。。。(挂断)(faint) 司机笑得方向都顾不上打了,差点害俺一命

下面是俺小白兔自己听到的:
听众:我男友经常喜欢把手指插到我那里去,这样会不会不好?
万沉默...好奇地)插到哪里?
听众:就是那里啦
万:是阴道吗?现在这些孩子...他洗手了吗?下次让他洗完手剪好指甲再插

听众:万老师,你好,我是一名大学讲师,我的阴茎很长,夏天上课的时候都不敢穿短裤...
万:为什么?
听众:因为太长了,会掉出来,我很苦恼
万(嫉妒地):这也用苦恼啊,那你就穿长裤好了
听众:可是很热呀,而且每次我都发愁该把它放在左边的裤筒还是右边的裤筒里
万:拿根绳子,绑在腰上(大盖灵感是来自那个非洲部落)
听众:靠....

论坛徽章:
0
37 [报告]
发表于 2003-09-10 09:19 |只看该作者
哈哈 哈哈  笑死偶了 谢谢 magicangle !

论坛徽章:
0
38 [报告]
发表于 2003-10-07 13:00 |只看该作者
to eru
真的很佩服你,请问你对sql的了解多是从哪得来的,期盼你的指教

论坛徽章:
0
39 [报告]
发表于 2005-07-07 11:24 |只看该作者

你看这样修改一下,是不是也可以?

最初由 eru 发布
[B]我试过,我这条语句取出的是曾经有连续三次孩子数<21的母猪的所有生孩子的记录,在你的数据里结果和select * from pig一样是因为所有的母猪都有连续三次孩子数<21的情况发生,如果你一定只要那几个月的记录那么可以这样写:

select t1.* from pig t1,
(select p1.ear_num earnum,p1.embryo_num num1,p2.embryo_num num2,p3.embryo_num num3 from pig p1,pig p2,pig p3
        where p1.ear_num=p2.ear_num and p2.ear_num=p3.ear_num
                and p1.son_num<21 and p2.son_num<21 and p3.son_num<21
                and p2.embryo_num=p1.embryo_num+1 and p3.embryo_num=p2.embryo_num+1
) t2
where t1.ear_num=t2.earnum and (t1.embryo_num=t2.num1 or t1.embryo_num=t2.num2 or t1.embryo_num=t2.num3) [/B]


我感觉写的有些复杂,改成这样行不行?

select t1.* from pig t1,
(select p1.ear_num earnum
from pig p1,pig p2,pig p3
where p1.ear_num=p2.ear_num and p2.ear_num=p3.ear_num
           and p1.son_num<21 and p2.son_num<21 and p3.son_num<21
           and p2.embryo_num=p1.embryo_num+1 and   p3.embryo_num=p2.embryo_num+1
) t2
where t1.ear_num=t2.earnum

论坛徽章:
0
40 [报告]
发表于 2005-07-07 16:08 |只看该作者

通不過

最初由 magicangel 发布
[B]佩服啊,eru,居然有这么简洁的select语句。你那样的语句我就写不出,推荐楼主相互对照。我的也是通过的,主要是体现临时表的优势,执行成本较低。哎,看来自己还得修炼。向你学习。
现对你的语句加上order by,这样会明了一点。

select t1.* from pig t1,
(select p1.ear_num earnum,p1.embryo_num num1,p2.embryo_num num2,p3.embryo_num num3 from pig p1,pig p2,pig p3
where p1.ear_num=p2.ear_num and p2.ear_num=p3.ear_num
and p1.son_num<21 and p2.son_num<21 and p3.son_num<21
and p2.embryo_num=p1.embryo_num+1 and p3.embryo_num=p2.embryo_num+1
) t2
where t1.ear_num=t2.earnum and (t1.embryo_num=t2.num1 or t1.embryo_num=t2.num2 or t1.embryo_num=t2.num3)
order by t1.ear_num,t1.embryo_num [/B]



此程序在我的SQL中通不過, 它將第3胎生22頭的也給找出來了, 不知道是不是滿足樓主的要求呢.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP