现有一表accident,其中有一字段fgs,字段值结构为序号.内容,如10.一分公司,
字段类型为char,现在要select这个表,fgs为索引字段,怎样在显示字段名时只
显示内容,不显示序号,如上面只显示一分公司,排序时则要用到序号,并转换为
整型排序,不知该如何实现,sql语句该如何写?

解决方案 »

  1.   

    select cast(left(fgs,charindex(',',fgs)-1) as int) Seq, 
           right(fgs,len(fgs)-charindex(',',fgs)) fgs from A1
    order by Seq
      

  2.   

    这种方法我试过,sql语句本身没有问题,连接datasource在dbgrid中也能显示正确结果,但我用
    的是交叉表decision cube控件组,执行之后报关键字使用错误,估计是不支持cast,charindex,
    right等函数。另外,用交叉表查询出的结果不对,符合条件的记录有多条时都能正确显示,如果只有一条时返回记录集为空,这是不是delphi的一个bug,请各位高手指点。