Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1257750
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2009-02-19 17:03:24



我有三个表   aa.bdf     bb.dbf       cc.dbf  
  aa.dbf中的字段  
  jh             yc         yx         yxh  
  name1       ch         0.2       101.1  
   
  bb.dbf中的字段  
  jh             jd1           jd2  
  name1       100.1       200.1  
   
  cc.dbf中的字段  
  jh           年月               hs  
  name1     20061011       0.3  
   
  我想完成这样的查询:  
  我想首先为表aa添加一个字段sk,判断aa表中的yxh   字段的值   是否在   bb表中的   jd1   和jd2   之间   如果在sk的值就写   K   ,     不在就为空  
  我已经把   年月这个字段的值都添加到combobox   中  
  先在combobox中选择有个年月  
  找aa表中sk     字段的值为K的   和aa表中yx>=0.4   的   和cc表中hs   >=30%的  
   
  如何为aa表添加那个sk字段   如何写最后的那条查询语句  
 

--增加字段sk  
  alter   table   aa   add   sk   varchar(4)   null  
  go  
  --更新字段sk  
  update   aa   set   sk=   'K'   from   aa   a,bb   b   where   a.jb   =     b.jh   and   a.yxh   between   b.jd1   and   b.jd2  
  go  
  --查询  
  select   *   from   aa   a,cc   b   where   a.jh   =b.jh   and   a.sk='K'   and   a.yx>=0.4   and   c.hs>=0.3   and   c.年月=combobox中的值  
   
  在DELPHI中有个专门选择日期的控件DateTimePicker,比combobox更好

select   jh,yc,yx,yhx   from   (select   aa.*,   'sk'   =     case   when   aa.yxh   >=   bb.jd1   and   aa.yxh<=bb.jd2   then   'K',   else   ''   from   aa,   bb   where   aa.jh   =   bb.jh)   XXX,   cc   where   yx>=0.4   and   sk='k'   and   hs>=0.3

select   jh,yc,yx,yhx   from   (select   aa.*,   'sk'   =   case   when   aa.yxh   >=   bb.jd1   and   aa.yxh<=bb.jd2   then   'K',   else   ''   end   from   aa,   bb   where   aa.jh   =   bb.jh)   XXX,   cc   where   yx>=0.4   and   sk='k'   and   hs>=0.3  
  修改一下,少了个end



--------------------------
新闻:专注、极致、快、口碑 互联网创业的葵花宝典
导航:博客园首页  知识库  新闻  招聘  社区  小组  博问  网摘  找找看
阅读(298) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~