姓名 性别  年龄   部门     项目1    项目2     项目3     状态    结论分类    结论明细n1   女   25     d1     正常      正常      "fgg"       s1      g1       n2   男                   正常      "jb"                 s2      g3       "fgf"n3       30     d4                                  s3n4   男   40            正常      "bn"      "hjhj"    s2      g5        "fgfg"    ...
上面的数据表(ddd.mdb中的ttt),所有字段均可能为null,要由该表得到如下的记录集:1、剔除状态为s3的记录2、要得到的记录集字段为:姓名,性别,年龄,部门,异常结果,结论3、记录集中的"异常结果"为表中"项目1"、"项目2"、"项目3"中 字段名+非正常结果的联合字串
   如n4的"异常结果" 为 "项目2 bn,项目3 hjhj"。4、如果项目1、项目2、项目3中没有异常结果,那么记录集"异常结果"为“-”5、记录集中的"结论"为表中"结论分类"、"结论明细"的联合字串好像难度不大,但较啰嗦,对我来说,不知该怎么下手了,感谢耐心看完的兄弟姊妹!

解决方案 »

  1.   

    对不齐呀姓名     性别     年龄     部门      项目1    项目2     项目3       状态      结论分类       结论明细 n1      女       25       d1      正常      正常      "fgg"       s1       g1      n2      男                           正常      "jb"                s2       g3          "fgf" n3              30       d4                                   s3 n4      男       40               正常      "bn"     "hjhj"     s2       g5           "fgfg"    ... 
      

  2.   

    sql = "select 姓名,性别,年龄,部门,([项目1 & 项目2 & 项目3]) as 异常结果,([结论分类 & 结论明细}) as 结论 from ttt where 状态 <'s3'" 
      

  3.   

    "select 姓名,性别,年龄,部门, '项目1 ' & 项目1  & '项目2 ' & 项目2 & '项目3 ' & 项目3 as 异常结果, 结论分类 & ' ' & 结论明细 as 结论 from ttt where 状态 <> 's3'"
      

  4.   

    ""、""、""
    ""、""、""
    ""、"项目2"、"项目3"select 姓名,性别,年龄,部门
    ,iif(isnull(项目1),'',('项目1' & 项目1)) & iif(isnull(项目2),'',(',项目2' & 项目2)) & iif(isnull(项目3),'',(',项目3' & 项目3)) & iif(isnull(项目1),iif(isnull(项目2),iif(isnull(项目3),'-',''),''),'') as 异常结果
    ,结论分类 & 结论明细  as 结论
    from ttt
    where 状态 <> 's3'
      

  5.   

    select 姓名,性别,年龄,部门 
    ,iif(isnull(项目1),'',('项目1' & 项目1)) & iif(isnull(项目2),'',(',项目2' & 项目2)) & iif(isnull(项目3),'',(',项目3' & 项目3)) & iif(isnull(项目1),iif(isnull(项目2),iif(isnull(项目3),'-',''),''),'') as 异常结果 
    ,结论分类 & 结论明细  as 结论 
    from ttt 
    where 状态 <> 's3' 
      

  6.   


    "select 姓名,性别,年龄,部门,  iif((iif(项目1 <> '正常' or isnull(项目1),'项目1 ' & 项目1,'') & iif(项目2 <> '正常' or isnull(项目2),'项目2 ' & 项目2,'') & iif(项目3 <> '正常' or isnull(项目3),'项目3 ' & 项目3,''))='','- ',(iif(项目1 <> '正常' or isnull(项目1),'项目1 ' & 项目1,'') & iif(项目2 <> '正常' or isnull(项目2),' 项目2 ' & 项目2,'') & iif(项目3 <> '正常' or isnull(项目3),' 项目3 ' & 项目3,'')))  as 异常结果, 结论分类 & ' ' & 结论明细 as 结论 from ttt where 状态 <> 's3'"
      

  7.   


    select 姓名,性别,年龄,部门 
    ,iif(isnull(项目1),'',('项目1' & 项目1)) & iif(isnull(项目2),'',(',项目2' & 项目2)) & iif(isnull(项目3),'',(',项目3' & 项目3)) & iif(isnull(项目1),iif(isnull(项目2),iif(isnull(项目3),'-',''),''),'') as 异常结果 
    ,结论分类 & 结论明细  as 结论 
    from ttt 
    where 状态 <> 's3' 
      

  8.   


    \\如果是 项目是 正常 或是 空 则不进行连接."select 姓名,性别,年龄,部门, iif((iif((项目1 = '正常' or isnull(项目1)),'','项目1 ' & 项目1) & iif((项目2 = '正常' or isnull(项目2)),'','项目2 ' & 项目2) & iif((项目3 = '正常' or isnull(项目3)),'','项目3 ' & 项目3))='','-',iif((项目1 = '正常' or isnull(项目1)),'','项目1 ' & 项目1) & iif((项目2 = '正常' or isnull(项目2)),'','项目2 ' & 项目2) & iif((项目3 = '正常' or isnull(项目3)),'','项目3 ' & 项目3)) as 异常结果, 结论分类 & ' ' & 结论明细 as 结论 from ttt where 状态 <> 's3'"