当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: select b.product,b.ver,a.hold_qty,b.all_qty from ( select substr(prod_nbr,1,5) as product,ver,count(prod_nbr) as hold_qty from wp_pnlstat where fac_id = s and oper=1600 and substr(prod_nbr,1,5) in......
    摘要: 我在家组了个局域网,用adsl拨号,路由器分配网段,现在两台机子都可以上网,一台机子可以看到并打开另一台机子的共享文件架,而另一台机子可以看到网中的机子,但是不能打开文件夹!我两台机子的管理中的用户和组设置的都一样,操作系统都是xp的sp2,请问高手是怎么回事,怎么解决此类问题,请给予答复! ......


怎么样才能把行横过来变成列

有这样一个问题:  
  数据库中有两张表,字段分别如下:  
  Coppers表:  
  列名                                     数据类型           长度             允许空  
  ID                                         int                       4                                               //自增列  
  MoldId                                 varchar             64                                               //模号  
  WorkpieceId                       varchar             64                                               //工件编号  
  CopperId                             varchar             64                                               //铜公编号  
  BurstCopper                       int                     4                       Y                         //爆公数量  
  RoughCopper                       int                     4                       Y                         //粗公数量  
  ChildrenCopper                 int                     4                       Y                         //幼公数量  
  Remark                                 varchar             64                     Y                         //备注  
  SendReferenceTime           Datetime           8                       Y                         //派发文控时间  
   
  Processes表:  
  列名  
  ID                                         数据类型             长度               允许空             //自增列  
  SequenceId                         int                       4                                             //工序编号  
  MoldId                                 varchar             64                                             //模号  
  WorkpieceId                       varchar             64                                             //工件编号  
  CopperId                             varchar             64                                             //铜公编号  
  ProcessType                       varchar             64                                             //加工类型:CNC\车床\   铣床  
                                                                                                                        //线切割\雕刻\执模\EDM  
  State                                   int                     4                                               //工序状态  
   
  两张表对应的关系:  
  一个铜公可以有多道加工工序,比如,一个铜公可以经过CNC、车床、铣床、线切割、雕刻、执模、EDM等多道工序完成。  
   
  界面要求如下:  
  模号     工件     铜公     爆公数量     粗公数量     幼公数量     CNC     车床     铣床     线切割   雕刻   执模     EDM  
   
   
  实现:采用dotnet下面的datagrid实现。  
  问题如下:  
  怎么样才能使得Processes表的行横过来与Coppers表中的行组成新的行?  
 

NO.1   作者: libin_ftsafe

如果"加工类型"固定只有以上几种类型,用如下SQL语句即可:  
  ------------------------------------------------------------------------  
   
  select  
          模号           =   a.MoldId,  
          工件           =   a.WorkpieceId,  
          铜公           =   a.CopperId,  
          爆公数量   =   a.BurstCopper,  
          粗公数量   =   a.RoughCopper,  
          幼公数量   =   a.ChildrenCopper,  
          CNC             =   max(case   ProcessType   when   CNC         then   State   end),  
          车床           =   max(case   ProcessType   when   车床       then   State   end),  
          铣床           =   max(case   ProcessType   when   铣床       then   State   end),  
          线切割       =   max(case   ProcessType   when   线切割   then   State   end),  
          雕刻           =   max(case   ProcessType   when   雕刻       then   State   end),  
          执模           =   max(case   ProcessType   when   执模       then   State   end),  
          EDM             =   max(case   ProcessType   when   EDM         then   State   end)  
  from  
          Coppers   a  
  inner   join  
          Processes   b  
  on  
          a.MoldId   =   b.MoldId  
  group   by  
          a.MoldId,a.WorkpieceId,a.CopperId,a.BurstCopper,a.RoughCopper,a.ChildrenCopper

NO.2   作者: rivery

原理就是:你要横过来的列通过case来增加。  
                      如果是固定的。则直接写sql语句就可以实现。  
                      如果不固定,需要动态组织sql语句,把动的变成固定的。  
  楼上写的已经很详细。


    摘要: 怎样吧cstring类型的数字字符串转化为int型的值 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE